2010-08-16 6 views
3

내 응용 프로그램에 라이브러리가 포함되어 있으며 exe와 같은 경로로 7 개의 dll을 복사하고 있습니다.winform 앱이 루트가 아닌 경로에서 DLL을로드 할 수 있습니까?

그러나이 dll을 하위 폴더에 넣고 싶습니다.

dll을 하위 폴더에 넣을 때 응용 프로그램에서 dll을 볼 수 없습니다.

그래서 응용 프로그램이 DLL을 찾는 위치를 설명하는 구성이 있습니까?

또한 copy local 속성이 yes로 설정된 참조 된 dll의 위치를 ​​변경할 수 있습니까?

편집 : 또한
관련 다음과 같은 질문
How can I set PrivateBinPath in MEF?

+0

가능한 중복 : //stackoverflow.com/questions/806383/how-to-change-the-loading-path-of-references-in-net) –

+0

예 아마도 중복 가능성이 있지만 제목에서 해당 질문을 찾을 수 없었습니다. 또한 fletcher의 대답은 다른 질문의 대답보다 우수합니다. – Karim

+0

글쎄, 차이가 있습니다. 그 dup 스레드는 실제로 답변으로 표시됩니다. 당신이 뭘 기다리고 있는지 확실히 모르겠습니다. –

답변

5

:

  1. 전역 어셈블리 캐시 (GAC)
  2. 응용 프로그램의 작업 디렉토리

또한 프로빙 경로는 응용 프로그램의 app.config 파일에서 설정할 수 있습니다.

"런타임에서 어셈블리를 찾는 방법"여기에서 찾을 수 있습니다에 대한

http://msdn.microsoft.com/en-us/library/823z9h8w%28VS.80%29.aspx

더 많은 정보 :

http://msdn.microsoft.com/en-us/library/yx7xezcf%28vs.71%29.aspx

[.NET에서 참조 로딩 경로를 변경하는 방법?] (HTTP의
1

종속 어셈블리는 응용 프로그램 도메인에 의해 제어됩니다에서로드되는 경우에 대한 모든 "정책"입니다. 비공개 어셈블리에 대해 다른 디렉터리를 프로빙하도록 구성 할 수 있습니다 (시작 지점은 AppDomainSetup.PrivateBinPath 참조). 관련

끄트머리 : Question 806383 런타임은 다음과 같은 순서로 어셈블리에 대한 조사합니다

관련 문제