在另一台计算机上打开该项目并在 VS 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.
我找到了VS的解决方案,但没有VS代码。
答案 0 :(得分:5)
我遇到了类似的错误,无法使用nuget 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
答案 1 :(得分:0)
包源可能在%appdata%\nuget\nuget.config
中定义。在您喜欢的xml /文本编辑器中编辑此文件(也许是VSCode?)。您应该在package sources元素下看到一个add元素,用于添加该文件路径。注释掉或删除该行。
如果该文件不在该文件中,请尝试运行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,以创建单个“独立” msbuild文件)。然后,您在该文件中搜索不存在的路径,然后向上滚动直到找到说明该文件定义于其中的注释。然后选择是否编辑该文件。
但是,在路径上创建一个空目录可能更容易。
答案 2 :(得分:0)
答案 3 :(得分:0)
我正在将我的dontet MVC项目从.Net core 2.2升级到3.1,并添加了对Microsoft.Extensions.Configuration.AzureAppConfiguration的引用。 当我遇到这个问题时。我所做的只是从nuget.config中删除了“ add key =” Local“ value =”。References“并解决了问题。我能够引用该软件包,
答案 4 :(得分:0)
因为消息说文件夹不存在,我创建了它,问题消失了。是的,就是这么简单。
顺便说一句,GitHub 上有关于类似问题的讨论,Rob Relya from Microsoft wrote:
<块引用>这是设计行为。如果您的任何来源无法访问,我们将无法恢复。 我们不想为您创建文件夹,以防输入错误。
在我看来,没关系。
答案 5 :(得分:0)
在较新的版本中,找到类似 "C:\Program Files\dotnet\sdk\6.0.100-preview.3.21202.5\NuGet.targets"
然后删除不工作的目录。