Pregunta

Estoy utilizando Visual Studio 2010 y mediante la implementación de web para promover el sitio Net MVC para entornos específicos. He instalado Elmah, y funcionó muy bien en mi entorno de desarrollo, pero cuando empujé PRUEBA, llegué excepciones porque SQLite no era un formato bien.

No estoy usando SQLite en Elmah o de otra manera, que yo sepa. He quitado todas refernces visibles a SQLite, y he eliminado el .dll de todos los directorios bin configuración. Sin embargo, todavía se inserta con cada generación. Me di cuenta del problema excepción es que SQLite no se puede construir para la CPU Cualquier, y mis entornos variar de 86 a 64. Pero yo preferiría SQLite esté ni siquiera presente.

Desde entonces he desinstalado Elmah, y SQLite todavía se inserta en el directorio \ bin. Ahora he vuelto a instalar Elmah, y eliminar manualmente el sqlite.dll de \ bin después de cada generación. ¿Cómo puedo determinar qué está causando SQLite se inserte en mi \ bin después de cada generación?

¿Fue útil?

Solución

Si no está utilizando SQLite entonces usted necesita para eliminar simplemente desde el fuente ubicación desde la que importada la referencia. Para ampliar sobre eso, vamos a suponer que ha descargado y descomprimido ELMAH a la C:\ELMAH camino de la unidad local. Al añadir una referencia a ELMAH, es probable que apuntaban a una de las versiones de la plataforma bajo C:\ELMAH\bin, como C:\ELMAH\bin\net-2.0\Release. De C:\ELMAH\bin subdirectorios, eliminar todos los otros conjuntos no deseados y archivos excepto Elmah.dll, Elmah.pdb y Elmah.xml. En sentido estricto, que ni siquiera es necesario que los dos últimos, pero no obstante son recomendados. Una vez que hayas hecho esto, se puede agregar una referencia a Elmah.dll a su proyecto en Visual Studio y ninguna de las dependencias conseguirá tirado en el directorio bin de su aplicación. Puede que tenga que eliminar su directorio bin y re-construir su proyecto para deshacerse de una copia inactiva de System.Data.SQLite.dll de una referencia anterior. ELMAH continuará funcionan bien sin System.Data.SQLite.dll, siempre y cuando no se utiliza Elmah.SQLiteErrorLog como almacén de registro de errores.

Como por otras sugerencias, no debería tener que eliminar las referencias a SQLite desde las fuentes ELMAH y hacer una acumulación privada.

Otros consejos

creo Visual Studio detectará que SQLite es requerido por Elmah y copiarlo si lo encuentra. Con el fin de achive el mismo objetivo que le quité toda la materia SQLite desde el código fuente Elmah y reconstruido él. Es algo muy doloroso que ver ...

Utilice un editor de texto con el apoyo de "encontrar-en-archivos" para buscar todos los archivos del proyecto de "SQLite". Algo debe estar refiriéndose a ella.

Sé que es una vieja pregunta, pero tengo un problema similar y aterrizó aquí, así que tal vez mi respuesta sigue siendo útil para los demás.

Simplemente añadir esto a su archivo de proyecto de la aplicación web en un PropertyGroup-elemento preferido:

<ExcludeFilesFromDeployment>bin\System.Data.SQLite.dll</ExcludeFilesFromDeployment>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top