Мигрированный проект Visual Studio не находит пакеты NuGet - PullRequest
0 голосов
/ 26 июня 2019

Я мигрирую проект MVC ASP.NET Visual Studio 2010 в Visual Studio 2019.

В проекте Visual Studio 2010 используются некоторые старые пакеты jQuery NuGet, которые я не могу обновить до текущих из-за нехватки времени и многочисленных изменений в проекте, которые не вписываются в мою текущую область.

Мигрированный проект 2019 года показывает ряд ошибок, связанных с пакетами NuGet:

NuGet Package restore failed for project MyWebProject: Unable to find version '3.2.0' of package 'Microsoft.jQuery.Unobtrusive.Ajax'.
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'Microsoft.jQuery.Unobtrusive.Ajax.3.2.0' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
  Please see Error List window for detailed warnings and errors.            

NuGet Package restore failed for project MyWebProject: Unable to find version '2.1.1' of package 'jQuery'.
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'jQuery.2.1.1' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'.
  Please see Error List window for detailed warnings and errors.        
...
...
...

В проекте Visual Studio 2019 при просмотре установленных пакетов NuGet отображаются перечисленные пакеты, но с сообщением Недоступно в этом источнике

Согласно сообщениям об ошибках, Visual Studio ищет пакеты в C: \ Program Files (x86) \ Microsoft SDKs \ NuGetPackages ; однако он должен искать в каталоге с именем «packages», который на самом деле содержит пакеты.

Я поместил каталог пакетов в тот же каталог, что и проект (но было бы лучше поместить их в общий каталог ресурсов, чтобы группа могла найти их, когда / если они работают над этим проектом). Я также отредактировал файл repositories.config в каталоге пакетов, чтобы он указывал на файл packages.config для проекта.

Я могу восстановить все это по умолчанию, если требуется.

Ничто из того, что я сделал, не помогло мне преодолеть эту проблему.

Как заставить Visual Studio 2019 использовать пакеты, которые существуют в каталоге, который не является каталогом Program Files?

Спасибо

1 Ответ

0 голосов
/ 27 июня 2019

Как настроить Visual Studio 2019 на использование пакетов, существующих в каталоге, который не является каталогом Program Files?

В соответствии с сообщением об ошибке: перейдите Tools=>Options=>Nuget Package Managerчтобы проверить настройки источника пакетов.

Возможно, вы не отметили nuget.org в качестве источников пакетов.Пожалуйста, проверьте эти настройки:

enter image description here

В VS, когда вы нажимаете опцию Restore Nuget Packages, она будет искать пакеты from available sources.Большую часть времени пакет, который нам нужно восстановить, приходит из Nuget Gallery .Как и JQuery 2.1.1, по умолчанию мы установим nuget.org в качестве необходимых источников пакетов.

Я проверил, снял ли я флажок с nuget.org, тогда у меня возникла та же проблема, что и у вас.

Поэтому, пожалуйста:

1. Проверьте nuget.org как источники пакетов, если он не существует, просто нажмите зеленый +, чтобы создать новые источники, и установите его источник как https://api.nuget.org/v3/index.json

2.Если nuget.org существует с проверенным статусом, убедитесь, что его ссылка верна. Кроме того:

, однако он должен искать в каталоге с именем "packages"на самом деле он содержит пакеты.

Если папка packages, которую вы имеете в виду, находится в Solution directory: по моему мнению, Restore Nuget Package не означает searching sources from the packages folder, вместо этого она будетискать пакеты из available package sources и устанавливать их в packages folder, если чего-то не хватает в packages folder. (для файла packages.config)

...