我正在将MVC ASP.NET Visual Studio 2010项目迁移到Visual Studio2019。
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”的目录中查找。
我已将packages目录放置在与项目相同的目录中(但最好将它们放在公共资源目录中,以便团队在/如果正在从事此项目时可以找到它们)。我还编辑了packages目录中的 repositories.config 文件,以指向该项目的 packages.config 文件。
如果需要,我可以将所有这些恢复为默认值。
我所做的一切都没有帮助我克服这个问题。
如何指示Visual Studio 2019使用非Program Files目录的目录中存在的包?
谢谢
答案 0 :(得分:0)
如何指导Visual Studio 2019使用现有的包 在不是Program Files目录的目录中?
根据您的错误消息:请转到Tools=>Options=>Nuget Package Manager
检查有关“程序包来源”的设置。
也许您没有检查nuget.org作为软件包的来源。请检查以下设置:
在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
,而是从{ {1}},如果available package sources
中缺少某些内容,则将它们安装到packages folder
。(对于packages.config格式)