我创建了一个MVC3项目并使用NuGet(NHibernate,AutoFac等)引入了一些库.似乎这些库设置为将二进制文件安装到bin文件夹而不是引用根包文件夹.当我在另一台机器上引入源(bin文件夹尚未在源代码管理中)时,我有一堆破坏的引用.
问题:我做错了吗?有没有办法设置它,以便我不必检查二进制文件夹,无需诉诸GAC或手动管理引用回到包文件夹?
我正在使用VS2010 sp1和NuGet 1.4.
UPDATE
我发现了我的问题!我在项目创建后移动了项目,并通过NuGet引入了库.这在我的第一台开发机器上运行正常,因为我已经在我的bin文件夹中有了dll,但是在我的第二台dev机器上没有工作,因为< HintPath>在.csproj文件中不再正确指向packages文件夹.
要解决此问题,请在VS中卸载项目,编辑它并修复引用.如果NuGet选中< HintPath>那就太好了.在.csproj文件中设置并自动更正它.
NuGet工作项目:http://nuget.codeplex.com/workitem/1230
最佳答案 我的解决方案是将
nuget.exe放在一个解决方案文件夹中,我将其置于源代码管理中,并为每个项目使用预构建事件:
"$(SolutionDir)NuGetCLI\nuget" install "$(ProjectDir)packages.config" -o "$(SolutionDir)Packages"
这将拉出并配置项目中使用的包.好处是我不必在源代码管理中存储二进制文件.