NuGet包还原为非恢复上构建软件包(NuGet Package Restore is not re

2019-08-02 11:02发布

我从保险柜中移动我们的源代码,TFS,不迁移或任何打扰,只是在拉跳马获得最新并将其添加到TFS。

该解决方案已经得到了几个项目,而且每一个都有至少一个NuGet包。 我试图让包还原工作了。 它曾在库(但不是它的方式是应该)。 我是一个有点期限下,并没有在第一次工作,所以我增加了一个预生成事件对packages.config为每个项目运行nuget.exe。

TFS打造服务抱怨这一点,所以我试图得到它的工作“正确”。

  1. 我已在Visual Studio工具菜单中的选项。
  2. 我已经安装了NuGetEnablePackageRestore并运行此修复程序。
  3. 我已验证的软件包目录是源头控制,但是是空的。
  4. 我已经验证了项目文件的每一个包括以下内容:
 <RestorePackages>true</RestorePackages> <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 

与诊断详细程度建立表明,每个项目评估这些属性,但绝不会在执行中nuget.targets的RestoreCommand。

有什么想法吗?

我试图从实现这些链接的解决方案:

  1. 的NuGet -包还原工作不
  2. NuGet包还原工作不 -我没有张贴有要求澄清一个问题/评论?
  3. http://nuget.codeplex.com/workitem/1879

编辑

此外,我还发现,RestoreCommand属性生成过程中被评估。 诊断详细程度显示:

RestoreCommand = (set EnableNuGetPackageRestore=true) && "C:\Source\Kiersted Direct And Related\Direct\Kiersted\.nuget\nuget.exe" install "packages.config" -source "@(PackageSource)" -o "C:\Source\Kiersted Direct And Related\Direct\Kiersted\packages"

Answer 1:

我想通了,我在这里找到了答案: MSBuild的不是来自一个导入的项目运行BuildDependsOn任务

问题(通过诊断冗长生成输出寻找后)是,BuildDependsOn设置已得到联合国集。 我的项目文件中的每个有import语句

<Import Project="$(SolutionDir)\.nuget\nuget.targets" />

但该声明是在XML树的开始。 显然,对于Microsoft.CSharp.targets进口可与进口,因此BuildDependsOn干扰。

我的解决方案是移动nuget.targets导入到下面的Microsoft.CSharp.targets进口。 现在一切都精美建立。



Answer 2:

这个答案需要与他人考虑。 在我的情况下,Visual Studio的决定不自动添加到packages.config源控制。 因此,文件没有做它的方式通过,以考虑构建服务器中的NuGet恢复。



文章来源: NuGet Package Restore is not restoring packages on build