我收到了一个Visual Studio 2017的解决方案。当我打开它时,出现以下错误:
还原NuGet包时出错:本地源'\\网络位置\'不存在。
我可以手动获取这些包的副本,但我不知道原始路径在哪里配置以及如何更改为新位置。
请问您有什么建议应该在哪里查找?
我收到了一个Visual Studio 2017的解决方案。当我打开它时,出现以下错误:
还原NuGet包时出错:本地源'\\网络位置\'不存在。
我可以手动获取这些包的副本,但我不知道原始路径在哪里配置以及如何更改为新位置。
请问您有什么建议应该在哪里查找?
在Visual Studio的选项 (工具 -> 选项
) 中可以找到包源,路径为 NuGet 包管理器 -> 包源
或者直接通过NuGet对话框中的图标 (右键点击解决方案/项目 -> 管理 NuGet 程序包...
) 进入:
此时应该会在以下对话框中列出本地包源:
包源可能是特定于解决方案或项目的,因此可能会在解决方案目录中的 NuGet.config
文件中指定。从 NuGet 3.4 开始,Visual Studio 会根据 NuGet.config 参考文档 在项目目录或者 "直到驱动器根目录的任何文件夹" 中查找。在 NuGet 3.3 之前,也要搜索名为 .nuget
的子目录以查找 NuGet.config
文件。
为了恢复正确的包,必须更改包含本地包源的文件。
以上提出的解决方案对我来说都没有用。说实话,我真的不喜欢微软现在做的事情:每次安装更新时都会有惊喜。 :-(
分析:
Error occurred while restoring NuGet packages: The local source 'C:\Microsoft\Xamarin\NuGet' doesn't exist.
"fallbackFolders": {
"C:\\Microsoft\\Xamarin\\NuGet": {},
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
问题:Visual Studio如何了解fallbackFolders?
我在我的Visual Studio / NuGet配置设置中没有找到任何提示,就像上面提出的那样。我删除了所有的obj文件夹,但每次尝试编译或还原我的软件包时,引用都会回来。
解决方法:
删除您解决方案中的所有obj
文件夹(如上所述)
删除c:\Program Files (x86)\NuGet\Config\Xamarin.Offline.config
在那里,您将找到以下内容:
<fallbackPackageFolders>
<add key="Xamarin Offline Packages" value="C:\Microsoft\Xamarin\NuGet\"/>
</fallbackPackageFolders>
这个文件是一周前在我的电脑上引入的,我想它是随着最新的VS更新(16.2)一起来的。今天的最新更新(16.2.1)并没有带走它。
Xamarin.Offline.config
重命名,并添加了一个.txt
扩展名(以防需要恢复它),然后重新加载我的解决方案;.csproj.nuget.dgspec.json
被重新生成,而没有C:\Microsoft
文件夹。耶! - Keith Robertson工具
-> NuGet 包管理器
-> 包管理器设置
来删除它。C:\Microsoft\Xamarin\NuGet
' 不存在。C:\Microsoft\Xamarin\'
文件夹。
此后,VS2019无法还原软件包。
我只是手动创建了 'C:\Microsoft\Xamarin\NuGet
' 文件夹。
重新启动VS,清理解决方案后,问题得到了解决。C:\Microsoft\Xamarin\NuGet
就解决了问题,无需重启。 - Marius Bughiu所有答案都是相关的,但它们并不完整,花了30分钟在这上面浪费了时间。
以下步骤可以解决问题:
1. 清除缓存并删除有问题的文件夹:
Tools > NuGet Package Manager > Package Manager Settings
> NuGet Package Manager > General > Clear All NuGet Cache(s)
Tools > NuGet Package Manager > Package Manager Settings
> NuGet Package Manager > Package Sources
> Available package sources
> {uncheck the folder that is giving error}
> OK
2. 在VS解决方案中还原NuGet包
Right-click on Visual studio solution (not project)
> Restore NuGet Packages
3. 构建并运行项目
希望这可以帮到你。
我在不同的情况下遇到了这个错误。我检查了我的解决方案文件夹中的Nuget.config
内容,在<packageSources>
节点下,有一个指向./nuget
的条目。在解决方案目录中没有这个文件夹,所以我只需创建一个名为nuget
的空文件夹,解决方案就可以编译而无需任何问题。
NuGet.config
,然后使用记事本编辑它,您将在该文件中找到以下设置: <packageSources>
<add key="LocalServerName" value="\\network-location\" />
</packageSources>
你可以将值更改为新位置。
相同的情况:
Error occurred while restoring NuGet packages: The local source 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages' doesn't exist.
我的解决方案是重新创建文件夹。