场景:我有14个项目(每个项目都在TFS中自己的文件夹中),另外一个名为AllSolutions的文件夹包含所有项目。请注意,团队中的每个人都不需要所有14个项目,这就是我将AllSolution.sln放在自己的文件夹中的原因。
Allsolutions.sln刚刚升级到Nuget 2.0并且编译得很好!到目前为止一切都很好。
我也有子解决方案(只包含他们需要的那些项目)。这些解决方案包含在下面显示的根文件夹中,如... Framework ...
问题
我加载的任何子解决方案都显示了这一点(无论是否有一个或多个项目)都显示缺少的程序集:
我怀疑我的AllSolutions.sln吞噬了他们。也许我需要将所有这些解决方案都移到AllSolutions文件夹中?顺便说一句,当我打开这些子解决方案时,输出窗口中没有任何内容显示出来。
如果我打开/编辑任何Proj文件,这就是我所看到的。
请注意,Nuget工作在AllSolutions文件夹中放入提示路径。我是否必须为所有这些提供提示路径以及为什么?
答案 0 :(得分:1)
在NuGet 2.0或packages.config世界中,每个解决方案都有一个包文件夹。你看到的问题是由于这个原因。 NuGet 2.0在程序包安装期间在指向此位置的项目文件中插入提示路径。您需要解析此工作的相对位置。您还可以选择使用repository path property in NuGet.config为packages文件夹提供公共位置。这应该可以解决你的问题。
如果您使用的是Visual Studio 2015及更高版本,我建议您考虑转移到project.json,而不是升级到NuGet 2.0。在porject.json世界中,您可以拥有一个全局包文件夹,并且在包安装期间不会修改您的项目文件。有关这方面的更多信息,请查看wiki条目here