2009-05-13 11 views
11

Estoy usando un proyecto de implementación web y quiero hacer algunas sustituciones de sección con la sección emlah/errorMail. No quiero enviar correos electrónicos en modo de compilación de depuración.VS2008 Reemplazo de la Sección de Proyecto de Implementación Web con Elmah

He creado la sección personalizada y ponerla en un errorMail.config. En las propiedades del proyecto de implementación web bajo reemplazos, tengo elmah/errorMail = errorMail.config.

El error que recibo es Se produjo un error al crear el manejador de sección de configuración para elmah/errorMail: No se pudo cargar el archivo o ensamblado 'Elmah' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Supongo que esto está sucediendo porque Elmah no está en el GAC o no es uno de mis proyectos. Sin embargo, el archivo Elmah.dll se copia a la carpeta de salida \ bin.

¿Hay alguna manera de que los reemplazos de sección funcionen con dlls de terceros?

[EDIT]

He descubierto que si se me cae la DLL en cuestión en la carpeta del proyecto para el proyecto de implantación en la web, que funcionará bien. Esto es menos que óptimo.

Así que ahora mi pregunta es, ¿cómo puedo hacer que esto funcione sin tener que poner el dll en el GAC o tener que copiar el dll en la carpeta del proyecto de implementación web?

+0

Problema muy molesto que debería haber sido resuelto por MS. Lo he encontrado con elmah y nlog ahora. Usaré la solución de carpeta de proyecto de implementación por ahora. Gracias. – UpTheCreek

+0

Extraño: tener el archivo DLL en la carpeta del proyecto de implementación no funciona para mí:/ – UpTheCreek

Respuesta

1

Si agrega una referencia al dll elmah de su proyecto web, entonces copiará automáticamente el dll a la carpeta de salida cuando lo construya.

esas son las únicas 2 opciones sin embargo: tener la DLL copia en el directorio de salida o, para decirlo en la GAC ​​

+0

Esto no funciona ... por lo que nos deja solo el GAC:/ – UpTheCreek

+0

Compruebe en el archivo web.config si se está refiriendo a una versión específica o no y que la versión que está incluyendo coincide con –

+0

No hay versiones particulares especificadas en el web.config para ninguno de los DLL que están causando problemas. Me temo:/ – UpTheCreek

0

Una técnica proposed here carga dinámicamente un ensamblado durante el proceso de construcción de despliegue web para que doesn' t tiene que estar en el GAC. Lo intenté, pero no pude hacerlo funcionar.

+0

Intenté esto, pero tampoco funcionó para mí. La nueva tarea informó que no pudo encontrar el ensamblado problemático. – UpTheCreek

Cuestiones relacionadas