Vac*_*ano 33 .net reference visual-studio-2010 visual-studio nuget
我正在尝试解决NuGet的Source Control限制.
为此,我需要更多地了解NuGet的工作原理.让我们举一个简单的例子.假设我有一个项目,我将AutoMapper添加到它.当我添加它应该放在哪里的dll?
我问,因为它似乎不一致.有时引用是在寻找"Packages"文件夹的dll:

有时它正在查看Debug构建输出文件夹:

但在这两种情况下,packages.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>
Run Code Online (Sandbox Code Playgroud)
第二个例子:
<?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>
Run Code Online (Sandbox Code Playgroud)
那么控制它建立引用的位置是什么?我如何才能使用包位置?(当它使用Debug输出文件夹时,如果您为"Release"编译,则这些引用会失败.)
沮丧的注意事项:我必须承认,我发现NuGet是一个很酷的主意,但除了简单的情况之外没有做好任何准备.(我正在考虑回到我的所有dll中都有一个lib文件夹.)
我不禁想知道我是否遗漏了一些东西,因为NuGet的广泛采用.必须有一些方法来完成这项工作......
Haz*_*zza 46
.NET核心
在.NET Core中,nuget包现在存储在全局位置:
C:\Users\[User]\.nuget\packages.
此外,packages.config删除了现在使用文件中的<PackageReference>元素存储的引用.csproj
Dav*_*bbo 21
简短的回答是,如果您从VS安装NuGet包(使用PowerShell或对话框),它包含的任何程序集都将从Packages文件夹中引用.
请注意,VS有一些古怪的行为,如果您尝试构建并且缺少packages文件夹,并且DLL存在于bin文件夹中,则它会将引用切换到"bin"文件夹.也许这就是你所看到的?
如果不是这种情况,并且您有一组可重现的步骤导致程序集被引用而不是来自Packages文件夹,请在http://nuget.codeplex.com/上打开一个错误.谢谢!
| 归档时间: |
|
| 查看次数: |
41330 次 |
| 最近记录: |