【发布时间】:2017-05-12 12:38:27
【问题描述】:
有人知道如何将自定义包源添加到 Visual Studio 代码?
例如我想将https://www.myget.org/F/aspnet-contrib/api/v3/index.json 添加为包源并通过project.json 驱动这些包。
【问题讨论】:
标签: visual-studio-code package-managers myget
有人知道如何将自定义包源添加到 Visual Studio 代码?
例如我想将https://www.myget.org/F/aspnet-contrib/api/v3/index.json 添加为包源并通过project.json 驱动这些包。
【问题讨论】:
标签: visual-studio-code package-managers myget
要添加答案,在项目中添加nuget.config 可以为项目解决它。添加到根目录就可以了。配置可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyGet" value="https://www.myget.org/F/aspnet-contrib/api/v3/index.json" />
</packageSources>
</configuration>
【讨论】:
nuget.config 仅适用于 VS,但不适用于 VS Studio。所以,这个答案是错误的或不完整的。
另一个对我有用并且实际上需要作为我的 CI/CD 管道的一部分的选项是使用 dotnet nuget add source <repo-url> --name <repo-name>
在调用 dotnet restore 或 dotnet build 之前调用它
参考: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-add-source
【讨论】:
您可以添加 NuGet.config 文件并在其中指定包源。一些参考文档:https://docs.microsoft.com/en-us/nuget/schema/nuget-config-file
【讨论】:
注意 - 如果您的自定义包源受密码保护,那么凭据也应该是配置文件的一部分。
<packageSourceCredentials>
<MyGet> <!--package src name-->
<add key="Username" value="something" />
<add key="ClearTextPassword" value="thepassword" />
</MyGet>
</packageSourceCredentials>
对于任何想知道为什么凭证必须是明文的人(这违背了拥有凭证的全部目的,因为这个配置文件也将进入源代码控制)。
这是 dotnet / nuget cli 中的一个未解决问题。 参考 github issue # 5909 & 1851
【讨论】: