如果您的 NuGet.config 中有多个 packageSources:
<packageSources>
<clear />
<add key="dev" value="http://server2/branches/feature1/nuget" />
<add key="release" value="http://server1/nuget" />
</packageSources>
运行 nuget install 等时是否使用了 XML 中的顺序?如果我在两个版本中都有 1.0.0-SNAPSHOT 版本的 packageA,那么 feature1 分支上的开发 channel 版本会赢吗?
最佳答案
nuget.config 中提要的顺序决定了它们在从 Visual Studio 到 NuGet 的各种 View 的下拉菜单中显示的顺序。在所有情况下,您都可以选择从哪个源进行安装。请参阅下面的屏幕截图。
Visual Studio 不会跟踪包的来源,因此包 ID 实际上位于全局命名空间中,您必须知道它属于哪个源。 Visual Studio 将向您显示所选提要中具有匹配 ID 的任何包,因此您可能会用另一个提要中的另一个提要覆盖从一个提要安装的包。
对于我在公司管理的 NuGet 提要,我在内部包前面加上 <CompanyName>.
以减少现在和将来发生命名冲突的风险。
关于NuGet 包源优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470532/