2013-02-22 4 views
0

코드 뒤에 VB.NET을 사용하여 VS2003 Ver 7.1.6030을 사용하여 개발 된 .NET 1.1 웹 응용 프로그램이 있습니다. 나는 최근 VS2010 .NET 4.0에서 System.Mail SmptClient를 사용하여 전자 메일을 보낼 수 있도록 추가했지만 .NET 1.1 프로젝트에 대한 참조를 추가하려고하면 다음 오류가 표시됩니다..NET 1.1 프로젝트에서 VS2010 .NET 4.0에서 생성 된 클래스 라이브러리를 사용할 수 있습니까?

"A libraryname.dll에 대한 참조를 추가 할 수 없습니다. 유효한 어셈블리 또는 COM 구성 요소가 아닙니다. 확장자가 'dll'인 어셈블리와 COM 구성 요소 만 참조 할 수 있습니다. 파일이 액세스 가능하고 올바른 어셈블리 또는 COM 구성 요소인지 확인하십시오. "

무엇이 잘못 되었나요? 이것이 가능한가?

도움을 주셔서 감사합니다.

데이비드

+0

컴퓨터에 "libraryname.dll"파일이 있습니까? –

+0

예 VS2010 개발 컴퓨터에서 VS2003 개발 컴퓨터로 복사 한 다음 파일 참조로 추가하려고했습니다. – dggonzalez

+0

이 작업을 수행 할 수 없으며 VS2003에서 .NET 1.x 어셈블리 만 사용할 수 있습니다. VS2010에서 .NET 1.x 어셈블리를 만들 수 없습니다. 당신이 VS2003을 은퇴 할 때가 많다. 10 년은 소프트웨어 공학, 특히 웹 어플리케이션에서 개가 많이 팔린다. –

답변

0

당신에게 :

여기
// Load the assembly 
Assembly a = Assembly.LoadFile(@"C:\PathHere\DLL.dll"); 

// Load the type and create an instance 
Type t = a.GetType("ClassLibrary.ClassName"); 
object instance = a.CreateInstance("ClassLibrary.ClassName"); 

// Call the method 
MethodInfo m = t.GetMethod("MethodName"); 
m.Invoke(instance, new object[] {}); // Get the result here 

이 매개 변수를 사용하여보다 상세한 예이다 .NET 1.1 프로젝트에서 .net 4 dll을 직접 사용할 수 없습니다 (대신 4에서 1.1을 사용할 수 있음). 유일한 해결책은 (프레임 워크 버전을 업그레이드 할 수없는 경우) 기능 (즉, WCF 자체 호스팅 서비스)을 랩핑하고 웹 서비스 또는 기타 IPC 기술을 통해 사용하는 것입니다.

+0

감사합니다. 지금은 적어도 .NET 1.1 전자 메일 솔루션을 사용하고 있습니다. 어쨌든 내 웹 응용 프로그램을 최신 .NET Framework로 업그레이드해야하지만 올해 말에 나올 예정입니다. – dggonzalez