Teilen über


Festlegen des Speicherortes einer Assembly

Hinweis

Dieser Artikel gilt für das .NET Framework. Er gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.

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

Sie können auch das .NET Framework-Konfigurationstool (Mscorcfg.msc) verwenden, um Assemblyspeicherorte anzugeben oder Speicherorte für die Common Language Runtime zum Suchen nach Assemblys anzugeben.

Verwendung des <codeBase>-Elements

Sie können das <codeBase>-Element nur in Computerkonfigurations- oder Herausgeberrichtliniendateien verwenden, die auch die Assemblyversion umleiten. Wenn die Runtime bestimmt, welche Assemblyversion verwendet werden soll, wendet sie die Codebasiseinstellung aus der Datei an, die die Version bestimmt. Wenn keine Codebasis angegeben ist, sucht die Runtime auf normale Weise nach Assemblys. Weitere Informationen finden Sie unter Vorgehensweise der Runtime bei der Assemblysuche.

Das folgende Beispiel zeigt, wie der Speicherort einer Assembly angegeben 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 aber für Assemblys ohne starken Namen weggelassen werden. Für das <codeBase>-Element ist das href-Attribut erforderlich. Sie können keine Versionsbereiche im <codeBase>-Element angeben.

Hinweis

Wenn Sie einen Codebasishinweis für eine Assembly ohne starken Namen angeben, muss der Hinweis auf die Anwendungsbasis oder ein Unterverzeichnis des Anwendungsbasisverzeichnisses verweisen.

Verwendung des <probing>-Elements

Die Runtime sucht mithilfe von Tests nach Assemblys, die nicht über eine Codebasis verfügen. Weitere Informationen zu Tests finden Sie unter Vorgehensweise der Runtime bei der Assemblysuche.

Sie können das <probing>-Element in der Anwendungskonfigurationsdatei verwenden, um Unterverzeichnisse anzugeben, die die Runtime beim Suchen einer Assembly durchsuchen soll. Das folgende Beispiel zeigt, wie Verzeichnisse angegeben werden, die von der Runtime durchsucht werden sollen.

<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, die die Runtime nach Assemblys durchsuchen soll. Wenn die Anwendung sich unter „C:\Programme\MyApp“ befindet, sucht die Runtime in „C:\Programme\MyApp\Bin“, „C:\Programme\MyApp\Bin2\Subbin“ und „C:\Programme\MyApp\Bin3“ nach Assemblys, die keine Codebasis angeben. Die in privatePath angegebenen Verzeichnisse müssen Unterverzeichnisse des Anwendungsbasisverzeichnisses sein.

Siehe auch