.net – NuGet在哪里放dll?

前端之家收集整理的这篇文章主要介绍了.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/上打开一个错误.谢谢!

猜你在找的Windows相关文章