2014-12-15 3 views
2

두 개의 다른 코드베이스에서 생성 된 출력을 비교하는 프로젝트가 있습니다. 그래서 내 응용 프로그램에서 동일한 이름을 가진 두 DLL을 사용해야합니다. 두 개의 개별 클래스 라이브러리를 만들고 각 DLL을 그 중 하나에 추가 한 다음이 클래스 라이브러리에 대한 참조를 기본 프로젝트에 추가했습니다. 첫 번째 클래스 라이브러리의 메서드를 호출 할 때 모든 제대로 작동하고 해당 참조에 지정된 DLL이 올바르게 선택됩니다. 그러나 두 번째 인스턴스가 호출되면 DLL 경로가 첫 번째 인스턴스에서 가져오고 해당 클래스 라이브러리에서 참조 된 DLL 경로는 사용되지 않습니다.같은 이름이지만 경로가 다른 DLL 사용

이 충돌을 어떻게 방지합니까?

답변

2

선언 한 위치에서 이름을 완전히 한정하거나 파일의 맨 위에있는 import 문에서 별칭을 사용할 수 있습니다. 당신이 Namespace1.Some.Element과도 Namespace2.Some.Element에서 클래스 Foo이있는 경우, 당신은 별칭을 통해 다음을 수행 할 수 있도록 :

Dim myFoo1 as new alias1.Foo() 
Dim myFoo2 as new alias2.Foo() 

또는 당신은 그것을 할 수있는 :

다음
Imports alias1 = Namespace1.Some.Element 
Imports alias2 = Namespace2.Some.Element 

그렇게처럼 사용합니다 그래서 같은 정규화 된 이름 : 자세한 내용은

Dim myFoo1 as new Namespace1.Some.Element.Foo() 
Dim myFoo2 as new Namespace2.Some.Element.Foo() 

은 MSDN에 documentation 봐.

참고 : 저는 주로 C# 개발자이므로 구문이 약간 벗어난 경우 사과하겠습니다.

관련 문제