DTE를 통해 프로젝트 어셈블리의 절대 출력 경로를 얻어야합니다. Path.GetFullPath
를 사용DTE를 통해 프로젝트의 TargetPath 매크로 값 가져 오기
이
..\..\Output\AnyCPU\Debug\MyAssembly.dll
좋지 않다 : 그러나 나는이 같은 상대 경로를 생산, 어셈블리 이름과 결합, 나는 OutputPath 속성에 액세스 할 this method를 사용하여이 일을 시도 왜냐하면 내 프로젝트가 다른 위치에서 실행될 수 있기 때문입니다.
프로젝트 속성의 빌드 이벤트 탭에있는 $ (TargetPath) 매크로에 어셈블리의 전체 경로가 포함되어있는 것으로 나타났습니다. DTE에서이 값을 프로그래밍 방식으로 액세스하려면 어떻게해야합니까?
실제 질문은 - 프로젝트의 절대 출력 경로를 어떻게 얻습니까?
감사합니다. 내 질문이 업데이트되었습니다. –
나는이 경우 MyAssembly에서 projectFolder 변수의 값이 "C : \"가 될 것이라고 확신하지 않습니다. MyProject \ Framework \ MyAssembly \ "이면 outputPath는".. \ .. \ Output \ AnyCPU \ Debug \ "와 함께"C : \ MyProject \ Output \ AnyCPU \ Debug "경로를 요청한 것처럼 만듭니다. –
또한, 저는 이것이 매우 특정한 시나리오라고 가정합니다. 일반적인 경우가 아닙니다. 일반적으로 DLL이 어디에서로드 될지 쉽게 미리 결정할 수 없습니다 (출력 폴더, GAC, 추가 probing dirs .xml config에 지정된 등), 그래서 당신은 더 나은 AssemblyName과 런타임에 프로세스에서로드 된 모듈의 목록을 참조하는 것이 좋을 것 같아요. –