Visual Studio、Nuget 包源、订单不坚持

use*_*098 10 nuget visual-studio-2017

对于我们的工作,我们有三个本地 nuget 存储库以及 nuget.org 和 M$。我试图像这样重新排序它们:

所需订单

但是当我保存它,然后再次打开设置时,我的新订单不见了:

新订单没有坚持

我究竟做错了什么?

Sea*_*ema 17

所以这确实是 VS 2017 和 VS 2019 UI 中的一个错误,因为它有时(通常?)无法保存您选择的订单。我摸索了一下,今天我自己也被同样的错误咬了,好消息是你可以在 Visual Studio 之外自己修复包顺序,因为它只是存储在磁盘上的文本文件中。

关闭 Visual Studio,然后进入C:\Users\[your name]\AppData\Roaming\NuGet\,您将找到一个NuGet.Config包含 XML的文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
        <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
        <add key="My Local Packages" value="C:\Code\NugetPackages" />
        ...
     </packageSources>

     ...

 </configuration>
Run Code Online (Sandbox Code Playgroud)

请注意,这些<add ... />元素以相同的顺序与您在 Nuget 包管理器 UI 中看到的内容完全匹配。因此,您可以手动<add ... />将此文件中的元素重新排序为您希望包来源的任何顺序,并保存它;并且 Nuget 和 Visual Studio 都将尊重您选择的新顺序。

  • 注意:解决方案文件夹中还可能有一个 Nuget.Config 文件,该文件将覆盖应用程序数据中的文件。 (2认同)

Sar*_*SFT 2

我可以在VS 2017最新版本中重现这个问题,并且已经将此问题报告给VS产品团队,请检查:工具-选项-NuGet包管理器-包源:可用包源的顺序未保存,您可以添加评论以关注产品团队工程师的回复,谢谢。