2009-03-03 12 views
6

Ich habe eine Webanwendung und eine entsprechende web.config. Die Anwendung hängt von Assemblys ab, die sich auf dem System in einem bestimmten Pfad befinden (z. B. c: \ programme \ myprog \ bla.dll), aber nicht im GAC registriert sind. Wie kann ich meiner Webanwendung mitteilen, wo diese Assemblys gefunden werden, von denen sie abhängt? Ich denke ich kann das irgendwo in der web.config machen. Aber wie?So geben Sie den genauen Speicherort einer Assembly in einer Konfigurationsdatei an

Vielen Dank im Voraus!

Antwort

6

Überprüfen Sie diesen Artikel auf Assembly Binding Redirection.

Grundsätzlich sollten Sie diese zu Ihrer Konfigurationsdatei hinzu:

<runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705"> 
      <dependentAssembly> 
       * assembly information goes here * 
      </dependentAssembly> 
     </assemblyBinding> 
</runtime> 
0

Bei der benutzerdefinierten Steuerelemente Registrierung und Bedienelemente:

<system.web> 
    <pages> 
     <controls> 
     <add assembly="WebApp.CustomControl" 
       namespace="WebApp.CustomControls" 
       tagPrefix="cc" /> 
     </controls> 
    </pages> 
</system.web> 

Für Registrierung Baugruppen:

<assemblies> 
    <add assembly="WebApp.Util, Version=1.0, Culture=neutral, PublicKeyToken=f573aa5672ce4fd2"/> 
</assemblies> 

Hope this hilft!

1

Warum Sie speichern Baugruppen in 1 bestimmten Ort verwendet werden? Für Debugging-Zwecke? Sie können auch einen Hinweispfad zum Debuggen hinzufügen. Fügen Sie eine Datei ref hinzu und machen Sie es lokal kopieren = true. Die Assembly-Suche wird zuerst im Ordner debug \ bin (Anwendungsbasis) lokal sein.

+0

Auf dem Computer laufen noch einige andere Anwendungen und Dienste. Um die Dinge sauber zu halten, haben wir vereinbart, alle Binärdateien an einem einzigen Ort zu speichern. Erleichtert die Aktualisierung. – Mats

+0

Warum benutzen Sie den GAC nicht? Die Wiederverwendung von Baugruppen ist dort, wo GAC dafür da ist. –

1

Lagern Sie Ihre Baugruppen nach Möglichkeit immer im GAC. Es verhält sich wie das einzelne Verzeichnis, das Sie gerade verwenden, mit dem zusätzlichen Vorteil der parallelen Bereitstellung!

+0

Vor allem, wenn Sie stark benannte Assemblys verwenden. Schlösser und andere Probleme können sonst auftreten. –

Verwandte Themen