构建时哪个优先,NuGet 引用还是项目引用?

4
我有一个.NET解决方案,其中包含两个类库项目(称为 A 和 B),我还将它们发布到了 Nuget 服务器上。
如果我在 B 中既添加 A 作为项目引用又添加 A 的 Nuget 引用,那么在编译时 B 的 bin 文件夹中应该期望哪个版本的 A.dll?
是否有规则来确定哪个引用具有优先权? 如果这两个 dll 具有不同的版本会发生什么?
附注:我是从 VS 中构建的。

我认为如果它们相同则不会有影响,或者如果它们不同则会产生冲突。我不认为VS会选择其中一个。 - D Stanley
你是指从VS构建还是自动化构建,比如通过TFS? - John Saunders
1
你是否正在使用“NuGet包还原”? - John Saunders
@JohnSaunders - 我并没有想到一个具体的构建过程,因为我假设它们都会在幕后调用msbuild。 - KnightFox
没错 - 他们都会使用MSBUILD,但有些人可能还会使用MSBUILD之外的工具。当然,也可能存在其他差异,但如果将重点放在一个构建环境上,那么这将是一个更好的问题(和答案)。 - John Saunders
1个回答

0
这是一个无意义的问题。事实证明,您不能将引用作为项目和NuGet引用两次引用。 如果您尝试添加项目引用并且它已经存在于NuGet引用中,则Visual Studio会阻止您,如果您已经具有相同名称的项目引用,则添加NuGet引用时它会被覆盖(您的项目引用消失并被NuGet引用替换)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接