NuGet.Config文件位于Visual Studio 2017项目中的哪个位置?

Moh*_*din 53 c# visual-studio .net-core visual-studio-2017

我想知道NuGet.Config文件位于Visual Studio 2017项目中的哪个位置?我试图在项目的根目录中创建自己的NuGet.Config文件,但是我没有找到任何新的存储库(NuGet源代码).有人有任何想法吗?

这是我试图为我的.Net Core项目实现的文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json" />
    <add key="AspNetCoreTools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
    <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Jus*_*ten 73

Visual Studio从解决方案根目录中读取NuGet.Config文件.尝试将其移动到那里,而不是将其放在与项目相同的文件夹中.

您也可以将文件放在其中%appdata%\NuGet\NuGet.Config,它将在任何地方使用.

https://docs.microsoft.com/en-us/nuget/schema/nuget-config-file

  • @Justin Emgarten,是否有任何文档声明"每个项目NuGet.Config文件在命令行恢复中工作但在Visual Studio中不起作用"以及为什么NuGet.config中的repositoryPath设置不适用于每个项目的每个解决方案?谢谢. (6认同)
  • 默认情况下,VS2017使用位于路径C的全局Nuget.config:\ Users\yourusername\AppData\Roaming\NuGet\Nuget.config (6认同)
  • 你用'VS 2017'尝试过吗?我已经尝试过但没有成功.我怎么才能真正注意到这些变化?也许他们在那里,但我没有注意到他们(但我不这么认为). (3认同)
  • 每个项目NuGet.Config文件在命令行还原中运行,但在Visual Studio中不运行. (3认同)
  • 这不适用于VS2017.VS在解决方案根文件夹中没有看到NuGet.config. (3认同)
  • 尽量不要将 nuget.config 文件与 .nuget 文件夹混淆。如果 _NuGet(v3.4.3 及更高版本)包含格式错误的 XML(标签不匹配、无效引号等),则它会默默地忽略整个配置文件。这就是为什么最好使用“nuget config”_ [参考](https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) 来管理设置。对我来说,它在 VS2017 的解决方案级别上工作。 (2认同)

The*_*hos 14

按以下顺序读取多个nuget包:

  1. 首先是NuGetDefaults.Config file.你会发现这个%ProgramFiles(x86)%\NuGet\Config.
  2. 计算机级文件.
  3. 用户级文件.你会发现这个%APPDATA%\NuGet\nuget.config.
  4. nuget.config从驱动器根目录开始直到调用nuget.exe的目录的任何文件.
  5. 调用nuget.exe时在-configfile选项中指定的配置文件

您可以在此处找到更多信息.

  • 由于一开始让我感到困惑,我想澄清一下:这里列出的顺序是 nuget 加载其设置的顺序。后续步骤可能会覆盖之前的设置。因此,当您指定 `--configfile` 时,它仍然会读取默认文件、机器级文件等。但是 NuGet 自下而上**考虑**这些选项,即 `--configfile` 胜出。用户级文件等 (5认同)

小智 5

如果您使用代理,则必须编辑 Nuget.config 文件。

在 Windows 7 和 10 中,此文件位于路径:
C:\Users\YouUser\AppData\Roaming\NuGet。

包括设置:

<config>
  <add key = "http_proxy" value = "http://Youproxy:8080" />
  <add key = "http_proxy.user" value = "YouProxyUser" />
</config>
Run Code Online (Sandbox Code Playgroud)