Не удалось устранить эту ссылку. Не удалось найти сборку
Каждый раз, когда я создаю свое решение, я получаю это сообщение об ошибке;
Предупреждение 3 Не удалось устранить эту ссылку. Не удалось найти сборка "StandardClassLibrary, Version = 1.0.0.0, Culture = нейтральная, processorArchitecture = MSIL". Убедитесь, что сборка существует на диск. Если эта ссылка требуется вашим кодом, вы можете получить сбор ошибок. StandardClassLibrary
Таким образом, мое приложение имеет ряд проектов, из которых StandardClassLibrary
- один. Вышеприведенное сообщение является предупреждением, и, насколько я могу судить, оно не влияет на мое решение.
Но я бы предпочёл, чтобы этого не было, на всякий случай...
Ответы
Ответ 1
Скорее всего, вы получите это сообщение, когда проект указывает на старое местоположение сборки, где он больше не существует. Поскольку вы смогли создать его один раз, сборка уже скопирована в ваши папки bin\Debug
/bin\Release
, чтобы ваш проект все еще мог найти копию.
Если вы откроете ссылки node проекта в своем проводнике решений, рядом с ссылкой будет желтый значок. Удалите ссылку и добавьте ее снова из правильного местоположения.
Если вы хотите знать местоположение, на которое оно ссылалось, вам нужно открыть файл .csproj в текстовом редакторе и искать HintPath
для этой сборки - среда IDE по какой-либо причине не отображает эту информацию.
Ответ 2
Если кто-то сталкивается с этой проблемой с некоторыми пакетами nuget, вы можете исправить это, переустановив пакеты с помощью консоли диспетчера пакетов:
Update-Package -reinstall
Ответ 3
Проверьте, не являются ли ваши файлы проекта доступными только для чтения. Удалите свойство только для чтения, щелкнув правой кнопкой мыши по папке проекта и выберите свойства. На экране свойств снимите флажок только для чтения. Я столкнулся с той же проблемой, и это решило это для меня.
Ответ 4
Если проект проверяется на другом ПК через сервер фундаментов команды с различным расположением одного и того же файла библиотеки, в справочной системе не будет значка желтого значка, но при изменении в Release build и создании проекта это приведет к ошибке. Точно так же, как сказал @C.Evenhuis
, он будет использовать предыдущую старую в предыдущей сборке (например: сборка Debug), поэтому я не заметил ошибку.
Теперь я знаю, что это плохая привычка размещать файлы библиотеки в другом месте на другом ПК.
Просто нужно удалить ссылку и повторно добавить ту же ссылку из правильного местоположения.
Ответ 5
Это немного смутило меня, пока я не выяснил, что зависимости различных проектов в решении были испорчены. Получите это прямо и, естественно, ваша сборка появится в нужном месте.
Ответ 6
У меня было такое же предупреждение в VS 2017. Как оказалось, в моем случае я добавил проект unit test и должен был установить зависимость для unit test в тестируемой DLL.
Ответ 7
Может быть, это кому-нибудь поможет, но иногда тег Name может отсутствовать для ссылки, и это приводит к тому, что сборка не может быть найдена при сборке с MSBuild. Убедитесь, что тег Name
доступен для определенного ссылочного файла csproj, например,
<ProjectReference Include="..\MyDependency1.csproj">
<Project>{9A2D95B3-63B0-4D53-91F1-5EFB99B22FE8}</Project>
<Name>MyDependency1</Name>
</ProjectReference>
Ответ 8
Если вы создали образ с помощью Docker и получаете такие странные сообщения:
предупреждение MSB3245: не удалось разрешить эту ссылку. Не удалось найти сборку "Microsoft.Extensions.Configuration.Abstractions". Убедитесь, что сборка существует на диске. Если эта ссылка требуется вашим кодом, вы можете получить ошибки компиляции. [/Src/Utilities/Utilities.csproj]
Откройте затронутый проект Utilities/Utilities.csproj
, (Вы будете искать свой проект). Возможно, вам придется сначала выбрать Unload Project из меню. Щелкните правой кнопкой мыши файл .csproj и отредактируйте его.
Теперь удалите все теги <HintPath>
Сохраните и попробуйте снова.
![enter image description here]()
![enter image description here]()