5 Stimmen

Wie referenziert man eine DLL in der web.config?

Ich habe eine DLL im BIN-Ordner, und ich muss sie in der web.config referenzieren, sonst bekomme ich diese lästige Fehlermeldung:

Beschreibung: Ein Fehler trat während der der Kompilierung einer Ressource aufgetreten, die um diese Anfrage zu bedienen. Bitte überprüfen Sie die folgenden spezifischen Fehlerdetails und ändern Sie Ihren Quellcode entsprechend.

Compiler-Fehlermeldung: CS0234: Der Typ oder Namespace-Name 'ServiceModel' existiert nicht in dem Namespace 'Microsoft' (fehlt Ihnen eine Assembly-Referenz?)

Diese DLL befindet sich nicht im GAC, und deshalb kann ich nicht die

<assemblies><add ...

Also meine Vermutung ist, dass ich die configSections verwenden müssen wie

<configSections>
  <section name="Microsoft.System.Web" 
           type="Microsoft.System.Web,
                 Version=3.0.0.0, Culture=neutral,
                 PublicKeyToken=10633fbfa3fade6e "/>
</configSections>

Was sollte der richtige Code sein?

3voto

Jim Petkus Punkte 4452

Sofern die von Ihnen verwendete Assembly nicht stark benannt ist, reicht es aus, sie in das Verzeichnis bin zu legen.

Die von Ihnen erwähnte configSection dient nicht dazu, Verweise auf Baugruppen hinzuzufügen. Sie dient dazu, Konfigurationsabschnitte in der web.config zu definieren. Sie könnten also einen Konfigurationsabschnitt mit dem Namen "exampleSection" hinzufügen, indem Sie ein section-Tag zu configsSections hinzufügen. Dies würde es Ihnen ermöglichen, später in der web.config einen Konfigurationsabschnitt mit dem Namen "exampleSection" zu erstellen.

Der Grund für den Assembly-Verweis in der configSections-Abschnittsdefinition ist, dass jeder config-Abschnitt spezifisch für eine Assembly ist, für die er Konfigurationsdaten bereitstellt. Die configSection kann spezifisch für die Website-Assembly selbst sein (in diesem Fall ist das die Assembly, die Sie angeben würden) oder es kann eine andere Assembly sein, die von der Site verwendet wird. Die Erstellung einer configSection gibt Ihnen die Möglichkeit, zusammengehörige Einstellungen in einer Sektion zu gruppieren, anstatt sie anwendungsweit in den appsettings zu vermischen.

Wenn Sie mehr Informationen darüber geben, womit Sie Probleme haben, können wir Ihnen vielleicht helfen. Worum handelt es sich bei der Baugruppe und wie wird sie verwendet?

0voto

Joshua Punkte 37898

Lustigerweise habe ich herausgefunden, dass, wenn die DLL und alle ihre Abhängigkeiten im bin-Verzeichnis liegen, sie auch dann verwendet werden kann, wenn sie nicht in der SLN-Datei oder web.config enthalten ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X