首页 > 解决方案 > VS2017 - 尝试将 nuget 包保存到 Xamarin 文件夹中 - 为什么?

问题描述

我对这个感到困惑。

我安装了 VS2017(v15.9.16,2019 年 10 月中旬更新到最新版本),但由于某种原因,当我尝试将 NuGet 包添加到我的 Web 项目时,它想将它们保存到 Xamarin 文件夹中:

Warning MSB3106 
Assembly strong name "C:\Microsoft\Xamarin\NuGet\swashbuckle.aspnetcore\4.0.1\lib\netstandard2.0\Swashbuckle.AspNetCore.dll" 
is either a path which could not be found or it is a full assembly name which is badly formed. 
If it is a full assembly name it may contain characters that need to be escaped with backslash(\). 
Those characters are Equals(=), Comma(,), Quote("), Apostrophe('), Backslash(\).    

我在“错误列表”窗口中收到此警告消息 10 次。

我的 VS2017 项目是一个 .Net Core 2.2 Web API 解决方案,我对 Xamarin 没有兴趣,也从未在这台笔记本电脑上做过任何 Xamarin 开发。不知道为什么VS2017决定开始走这条奇怪的路。

这个输出路径到底设置在哪里?

标签: visual-studio-2017nuget

解决方案


这个输出路径到底设置在哪里?

你的机器里也有VS2019吗?如果有人在 VS 中开发 Xamarin,我发现可能会出现此问题。C:\Microsoft\Xamarin\NuGet\在我刚刚安装 Xamarin 工作负载之前,我从未有过路径:

在此处输入图像描述

我想来自这个工作负载的东西可能会破坏你的 nuget 行为,这会导致你的错误消息中的路径错误。

建议:

1.卸载该工作负载,因为您对Xamarin不感兴趣。

2.路径错误的直接原因是Xamarin工作负载放置了一个Xamarin.Offline.config文件,C:\Program Files (x86)\NuGet\Config\其中设置C:\Microsoft\Xamarin\NuGet\为一个fallbackPackageFolders

然后有时您会收到错误路径的错误消息,通常这种错误消息中的路径应该是C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\or C:\Program Files\dotnet\sdk\NuGetFallbackFolder\

因此,解决该错误路径的另一种简单方法是删除Xamarin.Offline.configin path C:\Program Files (x86)\NuGet\Config,该文件可能是错误路径的直接原因。(为了回答你原来的问题,这个文件为你设置了那个奇怪的路径......)

删除该文件后,清理您的 nuget 缓存并删除您的objproject.assets.json存在的)文件夹,然后我认为错误的路径永远不会给您带来麻烦。

对于 MSB3106,您可能会从这个类似的问题中获得一些帮助。希望能帮助到你 :)

另外:检查你在VS中的包源C:\Microsoft\Xamarin\NuGet\设置,如果存在,删除它。


推荐阅读