C:\Program Files\dotnet\sdk\2.2.300\NuGet.targets(121,5): error : The
local source C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'
doesn't exist.
我已经找到了Visual Studio的解决方案,但没有找到Visual Studio Code的解决方案。
C:\Program Files\dotnet\sdk\2.2.300\NuGet.targets(121,5): error : The
local source C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'
doesn't exist.
包源很可能在%appdata%\nuget\nuget.config
中定义。使用您喜欢的xml /文本编辑器(例如VSCode)编辑此文件。您应该在package sources元素下看到一个添加元素,该元素添加了该文件路径。将其注释掉或删除该行。
如果不在该文件中,请尝试运行dotnet restore --verbosity normal
或dotnet restore -v n
。如果仍然只收到错误消息,请尝试运行dotnet new nugetconfig
或暂时创建C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
目录。使用普通详细程度,NuGet将输出所有已读取的nuget.config
文件列表。打开每个文件,直到找到定义不存在的本地源的文件,以便您可以编辑并删除它。或者只需保留空目录。
还有可能包源是在MSBuild文件中定义的,而不是在nuget.config
文件中。如果是这种情况,则可能需要运行dotnet msbuild -pp
来生成经过预处理的文件(处理所有导入以创建一个“独立的”msbuild文件)。然后,在该文件中搜索找不到的路径,然后向上滚动,直到找到指定定义路径的注释。然后选择编辑该文件。
然而,创建一个空的目录可能更容易些。
.nuget
的文件夹中。一旦我将该文件移动到解决方案文件夹中,问题就得到了解决。此链接提供了一些额外的信息。链接 - mcolegronuget restore
命令的工作,但路径不同:
C:\Program Files\dotnet\sdk\3.1.100\NuGet.targets(132,5): error : The local source C:\work\nuget doesn't exist.
我通过从以下位置删除该路径来修复它:
Visual Studio ▶ Tools ▶ Options ▶ Nuget Package Manager ▶ Package Sources
更新:~/.nuget
。/usr/local/share/dotnet/
(如果是 ARM64 架构)或者 /usr/local/share/dotnet/x64/dotnet/
(如果是 x64 架构),或者可能在这里:/usr/local/share/dotnet/dotnet
。对于 Linux,请使用路径 ~/.dotnet
。 - Bizhan~/.nuget
,这样就解决了问题。 - Aaron Franke打开PowerShell窗口,输入以下代码: dotnet new nugetconfig
尽管错误似乎与 NuGet 无关,但实际上是有关联的。
打开 PowerShell 并运行以下命令:
dotnet new nugetconfig
从我的角度来看,没问题。这是设计行为。如果你的任何源不可访问,我们会失败地恢复。 我们不想为你创建一个文件夹,以防它是一个错别字。
我有些困惑答案不太理解,但其中一些可能有解决方案。最终帮助我的方法:
I edited C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
and removed <packageSources> with the value "..\NuGet.Config"
不确定是如何出现的,实际值可能因人而异。
我正在将我的dontet MVC项目从.Net core 2.2升级到3.1,并添加对Microsoft.Extensions.Configuration.AzureAppConfiguration的引用。当时我遇到了这个问题。我所做的就是从nuget.config中删除"add key="Local" value=".References"",这个问题就解决了。我现在可以引用这个包了。