어셈블리 위치 지정

어셈블리의 위치를 지정하는 방법에는 두 가지가 있습니다.

.NET Framework 구성 도구(Mscorcfg.msc)를 사용하여 어셈블리 위치를 지정하거나 공용 언어 런타임에서 어셈블리를 검색할 위치를 지정할 수도 있습니다.

<codeBase> 요소 사용

<codeBase> 요소는 어셈블리 버전을 리디렉션하는 컴퓨터 구성 파일 또는 게시자 정책 파일에서만 사용될 수 있습니다. 런타임에서 사용할 어셈블리 버전을 결정하면 버전을 결정하는 파일의 코드 기본 설정이 적용됩니다. 코드베이스가 지정되지 않으면 런타임은 일반적인 방식으로 어셈블리를 검색합니다. 자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하세요.

다음 예제에서는 어셈블리의 위치를 지정하는 방법을 보여 줍니다.

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
       <dependentAssembly>  
         <assemblyIdentity name="myAssembly"  
                           publicKeyToken="32ab4ba45e0a69a1"  
                           culture="en-us" />  
         <codeBase version="2.0.0.0"  
                   href="http://www.litwareinc.com/myAssembly.dll"/>  
       </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

version 특성은 모든 강력한 이름의 어셈블리에 필요하지만 강력한 이름이 지정되지 않은 어셈블리에는 생략해야 합니다. <codeBase> 요소에는 href 특성이 필요합니다. <codeBase> 요소에서는 버전 범위를 지정할 수 없습니다.

참고 항목

강력한 이름이 아닌 어셈블리에 대한 코드베이스 힌트를 제공하는 경우 힌트는 애플리케이션 기반 또는 애플리케이션 기본 디렉터리의 하위 디렉터리를 가리킵니다.

<probing> 요소 사용

런타임은 검색을 통해 코드베이스가 없는 어셈블리를 찾습니다. 검색에 대한 자세한 내용은 런타임에서 어셈블리를 찾는 방법을 참조하세요.

애플리케이션 구성 파일에서 <probing> 요소를 사용하면 어셈블리를 찾을 때 런타임에서 검색해야 하는 하위 디렉터리를 지정할 수 있습니다. 다음 예제에서는 런타임에서 검색해야 하는 디렉터리를 지정하는 방법을 보여 줍니다.

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <probing privatePath="bin;bin2\subbin;bin3"/>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

privatePath 특성에는 런타임에서 어셈블리를 검색해야 하는 디렉터리를 포함합니다. 애플리케이션이 C:\Program Files\MyApp에 있는 경우 런타임은 C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin 및 C:\Program Files\MyApp\Bin3에서 코드베이스를 지정하지 않는 어셈블리를 찾습니다. privatePath에 지정된 디렉터리가 애플리케이션 기본 디렉터리의 하위 디렉터리여야 합니다.

참고 항목