迁移的 Visual Studio 项目未找到 NuGet 包
Posted
技术标签:
【中文标题】迁移的 Visual Studio 项目未找到 NuGet 包【英文标题】:Migrated Visual Studio Project not finding NuGet packages 【发布时间】:2019-06-26 14:39:59 【问题描述】:我正在将 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】:如何指导 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
,而是它会从available package sources
搜索包并将它们安装到@987654335 @如果packages folder
.(对于packages.config格式)中缺少某些内容
【讨论】:
哇,非常感谢。我根本没找对地方!它没有 nuget.org 源代码。以上是关于迁移的 Visual Studio 项目未找到 NuGet 包的主要内容,如果未能解决你的问题,请参考以下文章
Teamcity Visual Studio sln 未找到目标(项目文件夹内的项目)
Microsoft Visual Studio2013 新建项目时“弹出未找到约束”对话框
在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js
从 Visual Studio 2015 迁移后,Qt Creator 未显示 Qlabel 的边框图像