2009-05-13 3 views
11

Ich verwende ein Web-Deployment-Projekt und möchte einige Abschnitte durch den Abschnitt emlah/errorMail ersetzen. Ich möchte keine E-Mails im Debug-Build-Modus senden.VS2008 Web Deployment Projektabschnitt Ersetzen mit Elmah

Ich habe den benutzerdefinierten Abschnitt erstellt und in eine errorMail.config. In den Eigenschaften von Web-Deploy-Projekt unter Ersatz habe ich elmah/errorMail = errorMail.config.

Der Fehler, den ich bekomme, ist ein Fehler beim Erstellen der Konfigurationsabschnitt Handler für Elmah/errorMail: Konnte Datei oder Assembly 'Elmah' oder eine seiner Abhängigkeiten nicht laden. Die angegebene Datei wurde vom System nicht gefunden.

Ich vermute, das passiert, weil Elmah nicht in der GAC oder es ist nicht eines meiner Projekte. Die Elmah.dll-Datei kopiert jedoch in den output \ bin-Ordner einwandfrei.

Gibt es eine Möglichkeit zum Ersetzen von Abschnitten mit Drittanbieterdlls?

[EDIT]

ich gefunden, wenn ich die dll in Frage in den Projektordner für das Web-Deployment-Projekt fallen, dass es funktionieren wird. Dies ist weniger als optimal.

Also meine Frage ist, wie kann ich das zum Funktionieren bringen, ohne die DLL in den GAC zu legen oder die DLL in den Web-Deployment-Projektordner kopieren zu müssen?

+0

Sehr nerviges Problem, das von MS behoben sein sollte. Ich habe es jetzt mit Elmah und Nlog angetroffen. Ich verwende den Installationsprojektordner für den Moment. Vielen Dank. – UpTheCreek

+0

Seltsam - die DLL im Deployment-Projekt-Ordner funktioniert nicht für mich:/ – UpTheCreek

Antwort

1

Wenn Sie einen Verweis auf die Elmah-DLL aus Ihrem Webprojekt hinzufügen, wird die DLL beim Erstellen automatisch in den Ausgabeordner kopiert.

Das sind die einzigen zwei Optionen aber: die DLL in das Ausgabeverzeichnis kopiert haben oder es in dem GAC setzen

+0

Das funktioniert nicht ..... so dass uns nur mit der GAC verlassen:/ – UpTheCreek

+0

Überprüfen Sie in Ihrer Datei web.config, ob Sie beziehen zu einer bestimmten Version oder nicht und dass die Version, die Sie einbeziehen Übereinstimmungen, dass –

+0

Es gibt keine bestimmten Versionen in der web.config für eine der Dlls, die Probleme verursachen, ich fürchte, angegeben haben:/ – UpTheCreek

0

Eine Technik proposed here dynamisch eine Baugruppe während des Prozesses Web-Deployment Build lädt, so dass es doesn Ich muss im GAC sein. Ich versuchte es, konnte es aber nicht zur Arbeit bringen.

+0

Ich habe das versucht, aber es hat auch nicht für mich funktioniert. Die neue Aufgabe selbst berichtete, dass sie die problematische Assembly nicht finden konnte. – UpTheCreek