#c# #build #dependencies #.net-assembly
#c# #сборка #зависимости #.net-сборка
Вопрос:
В настоящее время я работаю над проектом моего коллеги, который он написал несколько лет назад. В проекте используется сборка «log4net», хотя на самом деле она мне не нужна и я ее не использую. В любом случае, когда я пытаюсь создать проект, я получаю эту ошибку:
Severity Code Description Project File Line Suppression State
Error Unknown build error, 'Cannot resolve dependency to assembly 'log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=9fea11e3513f1a42' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.' VersionChecker C:windowsMicrosoft.NETFrameworkv4.0.30319Microsoft.WinFx.targets 268
Я пытался удалить сборку, а также безуспешно пытался перенаправить версии сборок. Я не нахожу никаких следов log4net нигде в своем проекте и понятия не имею, как его полностью удалить и создать свой проект..
Заранее спасибо за вашу помощь!
Комментарии:
1. Надеюсь, вы уже пробовали это, возьмите все полезные страницы и материалы из текущего проекта, поместите их в новое решение и создайте новое.
2. Я оставляю это решение до конца.. Создание его заново обычно вызывает у меня новый набор проблем.. например, потеря конфигураций и так далее
Ответ №1:
Перейдите в раздел «Управление пакетами Nuget для решения» в меню «Сервис» VS и проверьте, можете ли вы удалить его оттуда.
Комментарии:
1. Спасибо, но я этого там не вижу.. Это библиотеки DLL, импортированные в проект — он не был установлен через какой-либо менеджер.. возможно, это причина
2. Есть ли в web.config ссылка на log4net?
Ответ №2:
Существует несколько способов создания проектов. Наиболее распространенным способом является использование только Visual Studio. Если это ваш случай, то просто просмотрите каждый проект в обозревателе решений и разверните ссылки. Вы должны увидеть все ссылки на ваш проект. Просто выделите Log4Net и нажмите клавишу delete. Вам нужно будет просмотреть весь код, который ссылается на Log4Net, и удалить его.
Другой сценарий заключается в том, что вы используете внешний скрипт сборки, например msbuild, для дополнительной компиляции. Если это так, вам нужно будет просмотреть свои сценарии сборки. Детали различаются в зависимости от реализации, но отправной точкой является простое выделение соответствующего проекта в обозревателе решений и нажатие alt enter для вызова свойств. Проверьте вкладку события сборки для получения дополнительной информации о сценарии сборки.
Комментарии:
1. Мой случай — первый, который вы упомянули в своем ответе. Как уже говорилось, я пытался удалить сборку и все части кода, связанные с ней, но она все равно не будет собрана.
2. Вы проверяли сценарии сборки в свойствах проекта?