.net – NuGet在哪里放dll?
我正在努力解决NuGet的 Source Control limitations. 为此,我需要更多地了解NuGet如何工作.让我们举一个简单的例子.说我有一个项目,我添加AutoMapper.当我添加它应该放在哪里的dll? 我问,因为它似乎不一致.有时引用的是找“dll”的“Packages”文件夹: 有时它正在查找Debug构建输出文件夹: 但是在这两种情况下,package.config文件中的AutoMapper行都是相同的: 第一个例子: <?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> 那么什么是控制在哪里设置参考?如何使用包位置? (当使用Debug输出文件夹时,如果编译为“Release”,则这些引用失败.) 沮丧注意:我不得不承认,我发现NuGet是一个很好的想法,但是除了简单的情况,还没有准备好. (我正在考虑只要回到一个lib文件夹,其中包含所有的DLL.) 我不禁想到,如果我遗漏了一些东西,因为NuGet有如此广泛的应用.必须有一些方法来使这项工作… 简单的答案是,如果您从VS(使用PowerShell或对话框)安装NuGet软件包,则其包含的任何程序集将从Packages文件夹引用.请注意,VS有一些古怪的行为,以便如果您尝试构建并且包文件夹丢失,并且DLL存在于bin文件夹中,那么它将转换到“bin”文件夹.也许这是你看到的? 如果不是这种情况,并且您有一组可重复的步骤导致程序集不是从Packages文件夹引用,请在http://nuget.codeplex.com/上打开一个错误.谢谢! (编辑:ASP站长网) |