Pergunta

Estou usando o Visual Studio 2010 e usando a implantação da Web para promover o site .NET MVC em ambientes específicos. Eu instalei o Elmah e funcionou muito bem no meu ambiente de desenvolvimento, mas quando empurrei o teste, obtive exceções porque o SQLite não era um bom formato.

Não estou usando o SQLite em Elmah ou de outra forma que conheço. Eu removi todas as referências visíveis para o SQLite e removi o .dll de todos os diretórios de bin de configuração. Mas ainda é inserido a cada compilação. Sei que o problema de exceção é que o SQLite não pode ser construído para a CPU, e meus ambientes variam de x86 a x64. Mas eu preferiria que o sqlite nem esteja presente.

Desde então, desinstalei o Elmah, e o sqlite ainda é inserido no diretório bin. Agora, reinstalei o Elmah e excluo manualmente o sqlite.dll de bin após cada construção. Como posso determinar o que está fazendo com que o sqlite seja inserido no meu bin após cada construção?

Foi útil?

Solução

Se você não está usando o sqlite, precisará simplesmente removê -lo do fonte Localização de onde você importado A referência. Para expandir isso, vamos supor que você baixou e descompactei o rish para o caminho C:\ELMAH na sua unidade local. Quando você adicionou uma referência ao Elmah, você provavelmente apontou para uma das versões da plataforma em C:\ELMAH\bin, Curti C:\ELMAH\bin\net-2.0\Release. A partir de C:\ELMAH\bin subdiretos, remova todos os outros conjuntos e arquivos indesejados, exceto Elmah.dll, Elmah.pdb e Elmah.xml. Estritamente falando, você nem precisa dos dois últimos, mas eles são recomendados. Depois de fazer isso, você pode adicionar uma referência a Elmah.dll Para o seu projeto no Visual Studio e nenhuma das dependências será puxada para o seu aplicativo bin diretório. Você pode ter que excluir o seu bin diretório e reconstruir seu projeto para se livrar de uma cópia obsoleta de System.Data.SQLite.dll de uma referência anterior. Elmah continuará a funcionar bem sem System.Data.SQLite.dll Contanto que você não use Elmah.SQLiteErrorLog como sua loja de logs de erros.

De acordo com outras sugestões, você não deve remover referências ao sqlite das fontes Elmah e fazer uma construção privada.

Outras dicas

Eu acho que o Visual Studio detectará que o SQLite é exigido pela Elmah e copie -o se encontrar. Para alcançar o mesmo objetivo que você removi todas as coisas do SQLite do código-fonte Elmah e a reconstruí-lo. É uma coisa bastante indolor a se fazer ...

Use um editor de texto com suporte "Find-in Files" para pesquisar todos os seus arquivos de projeto por "SQLite". Algo deve estar referenciando -o.

Sei que é uma pergunta antiga, mas tenho um problema semelhante e cheguei aqui, então talvez minha resposta ainda seja útil para os outros.

Basta adicionar isso ao seu arquivo de projeto do seu aplicativo da Web em um elemento de grupo de propriedade preferido:

<ExcludeFilesFromDeployment>bin\System.Data.SQLite.dll</ExcludeFilesFromDeployment>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top