2016-07-06 2 views
0

리플렉션을 사용하여 다른 클래스 라이브러리 DLL을로드하는 실행 파일이 있습니다. 해당 클래스 라이브러리 내에서 클래스 라이브러리의 실제 경로가 무엇인지 알아야합니다. 원래 실행 파일이므로 실행 어셈블리가 필요하지 않습니다.반영된 어셈블리의 현재 실제 경로를 얻는 방법

예 : EXE 파일은 C에있을 수 있습니다 : 수 있습니다 \ 프로그램 \ 및 클래스 라이브러리 C : 나는 나를 돌려 무언가를 호출 할 필요가 Assembly1.dll 내부 원격 메소드 내에서 Assembly1.dll

을 \ \ \ 라이브러리

C : \ 라이브러리는 원격 \

내가 시도 \

var currentLocation = Assembly.GetAssembly(GetType()).Location; 

하지만 그건 효과가없는 것 같습니다. 어떻게해야합니까?

var dllPath = new Uri(this.GetType().Assembly.GetName().CodeBase).LocalPath; 
+4

가능한 중복 http://stackoverflow.com/questions/52797/how-do-로드 된 DLL입니다 코드 - 인 - 어셈블리의 경로를 얻으십시오.) – thehennyy

+0

내가 원한 것이 아닌 GetExecutingAssembly에 대한 이야기입니다. – NZJames

+0

이 접근법은 모든 'Assembly'객체에서 사용할 수 있습니다. 어디에서 가져 왔는지는 중요하지 않습니다. – thehennyy

답변

0

나는 현재 클래스의 조립 경로를 얻기 위해이 방법을 사용합니다. "어셈블리"

assembly.Location.Replace(assembly.GetName().Name + ".dll", "") 
[I 코드가있는 어셈블리의 경로를 어떻게합니까?] (의
0

가 여기에 내가 그것을 할 하나 개의 방법 :

관련 문제