我在VSS中有以下项目结构

现在在Visual 2010 Pro:我打开Solution2,然后添加Library1作为外部项目。
Library1引用了我通过NuGet获得的两个外部库。当我构建我的Solution2时,一切都很好。所以我登记了我所有的项目。
问题:当另一个开发人员从源代码中获取Solution2并进行构建时,它说Library1缺少了那些外部库dll。
尝试了以下几个方面:
1:http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
所以现在我有.nuget文件夹在Solution2下,它被签入。但那还是没能把他们带来。
我怀疑Library1在一个单独的解决方案中导致了这个问题。
知道如何通过NuGet自动获得丢失的包吗?
更新:
泽维尔的建议很有帮助,以下是他的两篇博文:
发布于 2013-07-23 07:29:58
使用当前的设置,您应该确保已经启用了上的NuGet包恢复--解决方案和 Solution2 应该将nuget安装命令指向 Solution1\Packages outputdirectory.您的文件夹结构如下所示:

原因: location 1.csproj引用指向解决方案1\Packages位置。当将此项目添加到Solution2时,项目引用不会更改,但是解决方案将恢复Solution2\Packages中的包而不是解决方案1\Package。
如果您已经在Solution2的项目中安装了包,则需要确保这些包仍然针对Solution2\Packages进行恢复。为此,我建议您在共享项目文件中设置一个MSBuild属性( nuget.targets文件的导入语句上方),并将这个MSBuild属性值传递给RestoreCommand。
例如:
$(SolutionDir)..\Libraries\Packages
并调整nuget.targets文件,例如:
$(SolutionDir)\包 ..。 . -o "$(PackagesOutDir)“
(),如果您想要使用单个软件包文件夹,可以修改和 .nuget\NuGet.targets文件,并为nuget install命令设置-o (或-OutputDirectory)开关。
将其附加到RestoreCommand元素:-o "$(SolutionDir..\ packages“)将确保所有包都在一个位置得到还原的:

注意,每次安装NuGet包后,您都必须手动更新已安装的包引用!
发布于 2017-05-18 13:36:30
查看我们的答案:Nuget Package restore with git submodule,此选项不涉及任何*.csproj操作。
https://stackoverflow.com/questions/17797052
复制相似问题