Вопрос

Я использую Visual Studio 2010 и используя веб-развертывание для продвижения сайта .NET MVC в определенные среды. Я установил Elmah, и он отлично работал на моей Dev Environment, но когда я толкнул тест, у меня есть исключения, потому что SQLite не был хорошим форматом.

Я не использую SQLite в Elmah или иначе, о котором я знаю. Я удалил все видимые ссылки на SQLite, и я удалил .dll от всех каталогов конфигурации. Но это все еще вставляется с каждой сборкой. Я понимаю, что проблема исключения в том, что SQLite не может быть построен для любого процессора, и мои среды варьируются от X86 до X64. Но я бы предпочел SQLite даже не присутствовать.

С момента удаления Elmah, и SQLite все еще вставляется в каталог bin. Теперь я восстановил Elmah, и я вручную удалил SQLite.dll из bin после каждой сборки. Как я могу определить, что вызывает вставление SQLite в мой bin после каждой сборки?

Это было полезно?

Решение

Если вы не используете SQLite, вам нужно просто удалить его из источник Расположение откуда вы импортирован ссылка. Чтобы расширить это, давайте предположим, что вы скачали и разогнали Elmah на путь C:\ELMAH на вашем местном еде. Когда вы добавили ссылку на Эльма, вы, вероятно, указали на одну из версий платформы под C:\ELMAH\bin, подобно C:\ELMAH\bin\net-2.0\Release. Отказ От C:\ELMAH\bin Суб-каталоги, удалите все другие ненужные сборки и файлы, кроме Elmah.dll, Elmah.pdb а также Elmah.xml. Отказ Строго говоря, вам даже не нужны последние два, но они тем не менее рекомендуют. Как только вы сделали это, вы можете добавить ссылку на Elmah.dll к вашему проекту в Visual Studio, и ни один из зависимостей не будет вытесняться в ваше приложение bin каталог. Возможно, вам придется удалить свой bin каталог и повторно создайте свой проект, чтобы избавиться от несвежей копии System.Data.SQLite.dll от предыдущей ссылки. Эльма будет продолжать работать нормально без System.Data.SQLite.dll до тех пор, пока вы не используете Elmah.SQLiteErrorLog как ваш журнал ошибок.

Что касается других предложений, вам не следует удалять ссылки на SQLite от источников ELMAH и сделать частную сборку.

Другие советы

Я думаю, что Visual Studio обнаружит, что SQLite требуется Elmah и скопируйте его, если он найдет его. Чтобы достичь той же цели, поскольку вы убрали все SQLite Face из исходного кода Elmah и повторно построили его. Это вполне безболезненное дело ...

Используйте текстовый редактор с помощью поддержки «Find-in-файлов» для поиска всех файлов вашего проекта для «SQLite». Что-то должно ссылаться на него.

Я знаю, что это старый вопрос, но у меня есть подобная проблема и приземлилась здесь, поэтому, возможно, мой ответ все еще полезен для других.

Просто добавьте это в свой файл проекта вашего веб-приложения в предпочтительном свойстве PropertyGroup-элемент:

<ExcludeFilesFromDeployment>bin\System.Data.SQLite.dll</ExcludeFilesFromDeployment>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top