2008-11-14 2 views

답변

3

다음 중 하나를 수행 할 수 있습니다

  1. 이 어셈블리를로드 할 수있는 새로운 AppDomain 만들기 (모든 어셈블리를 포함하는 디렉토리에 AppDomain의 기본 디렉토리를 설정).
  2. AppDomain.AssemblyResolve에 대한 처리기를 연결하면 CLR에서 어셈블리의 종속성을 쉽게 찾을 수 있습니다.
  3. 문제의 디렉터리를 조사 할 경로 목록에 추가 할 수 있습니다. 그러나 응용 프로그램의 디렉토리 아래 어딘가에 있어야합니다. 자세한 내용은 probe 요소를 참조하십시오.
0

당신은 어셈블리가 실행되는 실제 디렉터리를 얻어야한다이

string myDll = string.Empty; 
string location = Assembly.GetExecutingAssembly().Location; 
if (location != null) 
{ 
    myDll = string.Format(@"{0}\my.assembly.name.dll", location.Substring(0, location.LastIndexOf(@"\"))); 
} 

이 같은 것을 사용하여 시도 할 수 있습니다. 이것은 Windows .NET 임시 디렉토리에있을 수 있습니다. 그러나 파일은 같은 레벨에 있기 때문에 나란히 존재해야합니다.

0

assembly.loadfrom을 사용하는 경우 어셈블리에 대한 파일 경로를 지정할 수 있습니다.

은로드에서 컨텍스트는 어셈블리 프로빙에 포함되지 경로에서로드 아직 경로 정보에 의해 유지되기 때문에 그 경로 종속성 발견하고로드 할 수있게 할 수 있도록 컨텍스트.

0

참조 된 DLL이있는 폴더에서 프로그램을 실행하면 문제를 해결할 수도 있습니다.

관련 문제