2009-05-13 15 views
11

Utilizzo un progetto di distribuzione Web e voglio sostituire alcune sezioni con la sezione emlah/errorMail. Non voglio inviare e-mail in modalità di compilazione di debug.Sezione di progetto di distribuzione Web VS2008 Sostituzione con Elmah

Ho creato la sezione personalizzata e l'ho inserita in un errorMail.config. Nelle proprietà del progetto di distribuzione Web sotto sostituzioni, ho elmah/errorMail = errorMail.config.

L'errore che sto ottenendo Si è verificato un errore durante la creazione del gestore della sezione di configurazione per elmah/errorMail: Impossibile caricare il file o l'assembly 'Elmah' o una delle sue dipendenze. Il sistema non trova il file specificato.

Immagino che questo accada perché Elmah non è nel GAC o non è uno dei miei progetti. Il file Elmah.dll copia correttamente nella cartella output \ bin.

C'è un modo per far funzionare le sostituzioni delle sezioni con le DLL di terze parti?

[EDIT]

ho scoperto che se cado la dll in questione nella cartella progetto per il progetto di distribuzione web, che funzionerà bene. Questo è meno che ottimale.

Quindi ora la mia domanda è: come posso farlo funzionare senza dover inserire la DLL nel GAC o dover copiare la DLL nella cartella del progetto di distribuzione Web?

+0

Problema molto fastidioso che avrebbe dovuto essere risolto dalla SM. L'ho incontrato con elmah e nlog ora. Utilizzerò la correzione della cartella del progetto di distribuzione per ora. Grazie. – UpTheCreek

+0

Strano: avere la DLL nella cartella del progetto di distribuzione non funziona per me:/ – UpTheCreek

risposta

1

Se aggiungete un riferimento a elmah dll dal vostro webproject, allora copierà automaticamente la DLL nella cartella di output quando la costruirete.

quelle sono le uniche 2 opzioni però: per avere la dll copiato nella directory di output o per dirla nel GAC

+0

Questo non funziona ..... quindi ci lascia solo con il GAC:/ – UpTheCreek

+0

Controlla nel tuo file web.config se ti stai riferendo a una versione specifica o no e che la versione che stai includendo corrisponde a –

+0

Non ci sono versioni specifiche specificate nel web.config per nessuna delle dll che causano problemi temo:/ – UpTheCreek

0

Una tecnica proposed here carica dinamicamente un assembly durante il processo di compilazione distribuzione web in modo che doesn' Devo essere nel GAC. Ci ho provato, ma non sono riuscito a farlo funzionare.

+0

Ho provato questo, ma non ha funzionato neanche per me. La nuova attività ha riportato che non è stato possibile trovare l'assemblaggio problematico. – UpTheCreek

Problemi correlati