Festlegen des Speicherortes einer Assembly

Aktualisiert: November 2007

Es gibt zwei Möglichkeiten, den Speicherort einer Assembly anzugeben:

Sie können auch das .NET Framework Configuration-Tool (Mscorcfg.msc) verwenden, um Speicherorte von Assemblys oder Verzeichnisse anzugeben, in denen die Common Language Runtime nach Assemblys suchen soll.

Verwenden des <codeBase>-Elements

Sie können das <codeBase>-Element nur in Computerkonfigurations- oder Herausgeberrichtliniendateien verwenden, die auch die Assemblyversion umleiten. Die Common Language Runtime wendet zur Bestimmung der zu verwendenden Assemblyversion die CodeBase-Einstellung der Datei an, die die Version festlegt. Wenn keine CodeBase angegeben ist, wird auf normalem Wege nach der Assembly gesucht. Weitere Informationen finden Sie unter So sucht Common Language Runtime nach Assemblys.

Im folgenden Beispiel wird gezeigt, wie der Speicherort einer Assembly festgelegt wird.

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

Das version-Attribut ist für alle Assemblys mit starkem Namen erforderlich, sollte jedoch bei Assemblys ohne starken Namen ausgelassen werden. Das <codeBase>-Element erfordert das href-Attribut. Sie können im <codeBase>-Element keine Versionsbereiche angeben.

Hinweis:

Wenn Sie einen CodeBase-Hinweis für eine Assembly ohne starken Namen zur Verfügung stellen, muss der Hinweis auf die Anwendungsbasis oder eines ihrer Unterverzeichnisse zeigen.

Verwenden des &lt;probing&gt;-Elements

Assemblys ohne CodeBase werden von der Common Language Runtime durch Suchen ermittelt. Weitere Informationen dazu finden Sie unter So sucht Common Language Runtime nach Assemblys.

Sie können das <probing>-Element in der Anwendungskonfigurationsdatei zur Angabe von Unterverzeichnissen verwenden, die von der Common Language Runtime durchsucht werden sollen, um die Assembly zu ermitteln. Das folgende Beispiel veranschaulicht, wie zu durchsuchende Verzeichnisse festgelegt werden.

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

Das privatePath-Attribut enthält die Verzeichnisse, in denen die Common Language Runtime nach Assemblys suchen soll. Wenn sich die Anwendung unter C:\Programme\MyApp befindet, wird nach Assemblys ohne CodeBase unter C:\Programme\MyApp\Bin, C:\Programme\MyApp\Bin2\Subbin und C:\Programme\MyApp\Bin3 gesucht. Die in privatePath angegebenen Verzeichnisse müssen Unterverzeichnisse der Anwendungsbasis sein.

Siehe auch

Konzepte

So sucht Common Language Runtime nach Assemblys

Weitere Ressourcen

Assemblys in der Common Language Runtime (CLR)

Programmieren mit Assemblys

Konfigurieren von .NET Framework-Anwendungen