#c# #.net #visual-studio #nuget
#c# #.net #visual-studio #nuget
Вопрос:
В решении Visual Studio есть несколько проектов, которые должны иметь MSTest.Среди прочего, пакет NuGet TestAdapter. При загрузке из системы управления версиями каждый проект в решении выдает ошибку: «Этот проект ссылается на пакеты NuGet, которые отсутствуют на этом компьютере. Для их загрузки используйте NuGet Package Restore. »
Я пытался использовать диспетчер пакетов NuGet для удаления и переустановки поврежденного пакета, но безрезультатно. Я также пробовал «восстановление пакета».
Каждый проект в решении содержит packages.config
файл со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MSTest.TestAdapter" version="2.1.2" targetFramework="net461" />
<package id="NLog" version="4.7.7" targetFramework="net461" />
</packages>
Использование Visual Studio 2017.
Как это исправить?
Комментарии:
1. Должно быть, при восстановлении пакета в окне вывода появляется какая-то ошибка. Можете ли вы опубликовать эту ошибку здесь?
Ответ №1:
Введите csproj
файл, а затем удалите эти две строки:
<Error Condition="!Exists('xxxpackagesMSTest.TestAdapter.2.1.2buildnet45MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', 'xxpackagesMSTest.TestAdapter.2.1.2buildnet45MSTest.TestAdapter.props'))" />
<Error Condition="!Exists('xxpackagesMSTest.TestAdapter.2.1.2buildnet45MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', 'xxpackagesMSTest.TestAdapter.2.1.2buildnet45MSTest.TestAdapter.targets'))" />
Две строки по-прежнему основаны на вашем управлении версиями, а не на вашей новой среде VS. Вы должны удалить старый неправильный путь, а затем установить новый путь на основе вашей текущей среды VS.
После этого введите Сервис -> Диспетчер пакетов Nuget -> Консоль диспетчера пакетов, а затем введите это, чтобы переустановить все пакеты nuget:
update-package -reinstall
Комментарии:
1. Существует файл .csproj только для одного из нескольких проектов в решении. Я отредактировал этот конкретный файл, и ошибка, связанная с этим проектом, была устранена. Как поступить с оставшимися проектами в решении?
2. Когда вы открываете решение в среде разработки VS IDE, щелкните правой кнопкой мыши на каждом проекте->
Unload Project
->, а затем щелкните правой кнопкой мыши на файле->edit xxx.csproj
, чтобы удалить две строки xml. Вы должны делать это для каждого проекта.3. Это изменение csproj — это шаг, который вы должны выполнить для каждого проекта. И когда вы закончите, вы можете запустить
update-package -reinstall
один раз, и это работает для всех проектов в рамках решения.4. @Al2110, есть какие-либо обновления по этой проблеме? Пожалуйста, сообщите нам о любых отзывах по этой проблеме. Если это поможет, пожалуйста, не забудьте принять его. И если нет, пожалуйста, сообщите нам о любых других ваших проблемах. И мы готовы помочь вам в дальнейшем.
5. Я попробую это и вскоре предоставлю обновление.