指定程序集的位置 | Microsoft Docs

原文:指定程序集的位置 | Microsoft Docs

指定程序集的位置Specifying an Assembly's Location

  1. 使用<b a s e > 元素
  2. 使用<探测 > 元素
  3. 请参阅

有两种方法来指定程序集的位置:There are two ways to specify an assembly's location:

此外可以使用.NET Framework 配置工具 (Mscorcfg.msc)来指定程序集的位置或指定公共语言运行时来探测程序集的位置。You can also use the .NET Framework Configuration Tool (Mscorcfg.msc) to specify assembly locations or specify locations for the common language runtime to probe for assemblies.

使用<b a s e > 元素Using the <codeBase> Element

可以使用 <b a s e > 只能机配置或发布服务器策略在文件中还将程序集版本重定向的元素。You can use the <codeBase> element only in machine configuration or publisher policy files that also redirect the assembly version. 当运行时确定要使用的程序集版本时,则会应用确定版本的文件的基本代码设置。When the runtime determines which assembly version to use, it applies the code base setting from the file that determines the version. 如果指示没有基本代码,运行时探测程序集以正常方式。If no code base is indicated, the runtime probes for the assembly in the normal way. 有关详细信息,请参阅运行时如何定位程序集For details, see How the Runtime Locates Assemblies.

下面的示例演示如何指定程序集的位置。The following example shows how to specify an assembly's location.

XML
<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>  

版本属性是必需的所有强名称的程序集,但不是具有强名称的程序集,应省略。The version attribute is required for all strong-named assemblies but should be omitted for assemblies that are not strong-named. *<B a s e >* 元素需要**href**属性。The <codeBase> element requires the href attribute. 不能指定版本范围 <b a s e > 元素。You cannot specify version ranges in the <codeBase> element.

备注

如果你所提供的不是强名称的程序集的基本代码的提示,提示必须指向应用程序基控件或应用程序基目录的子目录。If you are supplying a code base hint for an assembly that is not strong-named, the hint must point to the application base or a subdirectory of the application base directory.

使用<探测 > 元素Using the <probing> Element

运行时定位程序集不具有通过探测的基本代码。The runtime locates assemblies that do not have a code base by probing. 探测的详细信息,请参阅运行时如何定位程序集For more information about probing, see How the Runtime Locates Assemblies.

可以使用<探测 >应用程序配置文件来指定运行时查找程序集时应搜索的子目录中的元素。You can use the <probing> element in the application configuration file to specify subdirectories the runtime should search when locating an assembly. 下面的示例演示如何指定运行时应搜索的目录。The following example shows how to specify directories the runtime should search.


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

PrivatePath属性包含运行时应搜索程序集的目录。The privatePath attribute contains the directories that the runtime should search for assemblies. 如果应用程序位于 C:\Program Files\MyApp,运行时将查找 C:\Program Files\MyApp\Bin、 C:\Program Files\MyApp\Bin2\Subbin 和 C:\Program Files\MyApp\Bin3 中未指定基本代码的程序集。If the application is located at C:\Program Files\MyApp, the runtime will look for assemblies that do not specify a code base in C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin, and C:\Program Files\MyApp\Bin3. 中指定的目录privatePath必须是应用程序基目录的子目录。The directories specified in privatePath must be subdirectories of the application base directory.

请参阅See also

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/10836796.html