我正在尝试解决 NuGet 的问题源代码控制限制 https://stackoverflow.com/questions/7015149/multiperson-team-using-nuget-and-source-control.
为此,我需要更多地了解 NuGet 的工作原理。让我们举一个简单的例子。假设我有一个项目,我向其中添加了 AutoMapper。当我添加它时,DLL文件应该放在哪里?
我问是因为它似乎不一致。有时,参考会在“Packages”文件夹中查找 DLL 文件:
有时它会在调试构建输出文件夹中查找:
但在这两种情况下,AutoMapper 行packages.config
文件是相同的:
第一个例子:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
第二个例子:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NSubstitute" version="1.1.0.0" />
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
那么是什么控制着它设置引用的位置呢?我如何让它只使用包位置?
(当它使用调试输出文件夹时,如果您为“发布”进行编译,这些引用将失败。)
沮丧的注:我必须承认,我发现 NuGet 是一个很酷的想法,但除了简单的情况外,它还没有准备好。 (我正在考虑恢复一个包含所有 DLL 文件的库文件夹。)
我不禁想知道我是否遗漏了一些东西,因为 NuGet 得到了如此广泛的采用。一定有某种方法可以让这项工作发挥作用......