Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs NuGet程序包还原未在生成时还原程序包_Tfs_Msbuild_Nuget_Package Managers - Fatal编程技术网

Tfs NuGet程序包还原未在生成时还原程序包

Tfs NuGet程序包还原未在生成时还原程序包,tfs,msbuild,nuget,package-managers,Tfs,Msbuild,Nuget,Package Managers,我正在将我们的源代码从Vault移动到TFS,不必为迁移或任何事情操心,只需在Vault中获取最新版本并将其添加到TFS 该解决方案有几个项目,每个项目至少有一个NuGet包。我正在尝试让包恢复重新工作。它在保险库中工作(但不是它应该的方式)。我的时间有点紧迫,一开始它不起作用,所以我添加了一个预构建事件来针对每个项目的packages.config运行nuget.exe TFS构建服务对此表示不满,所以我试图让它“正常”工作 我已在Visual Studio工具菜单中设置了该选项 我已安装Nu

我正在将我们的源代码从Vault移动到TFS,不必为迁移或任何事情操心,只需在Vault中获取最新版本并将其添加到TFS

该解决方案有几个项目,每个项目至少有一个NuGet包。我正在尝试让包恢复重新工作。它在保险库中工作(但不是它应该的方式)。我的时间有点紧迫,一开始它不起作用,所以我添加了一个预构建事件来针对每个项目的packages.config运行nuget.exe

TFS构建服务对此表示不满,所以我试图让它“正常”工作

  • 我已在Visual Studio工具菜单中设置了该选项
  • 我已安装NuGetEnablePackageStore并运行修复程序
  • 我已经验证了packages目录是源代码管理的,但是是空的
  • 我已核实每个项目文件包括以下内容:

  • 我想出来了,我在这里找到了答案:

    问题(在查看诊断详细构建输出后)是BuildDependsOn设置正在取消设置。我的每个项目文件都有import语句

    <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
    
    
    
    但这句话是在XML树的开头。显然,Microsoft.CSharp.targets的导入可能会干扰该导入,从而影响BuildDependsOn


    我的解决方案是将nuget.targets导入移动到Microsoft.CSharp.targets导入的下方。现在一切都很完美。

    这个答案需要和其他人一起考虑。在我的例子中,Visual Studio决定不将packages.config自动添加到源代码管理中。因此,在Nuget还原过程中,该文件没有进入构建服务器以供考虑。

    谢谢您提供的信息。但是,我的import语句已经在Microsoft.CSharp导入之后,我将得到相同的错误。我会继续挖掘,看看这里发生了什么。在构建输出中,尝试指定诊断。它输出了大量日志记录,但问题就在那里的某个地方。这就是我的想法。我将此视为一个警告:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605):无法解析此引用。找不到程序集“MongoDB.Bson”。请检查以确保磁盘上存在该程序集。如果代码需要此引用,则可能会出现编译错误。C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605):无法解析此引用。找不到程序集“MongoDB.Driver”。检查以确保磁盘上存在程序集。如果您的代码需要此引用,您可能会遇到编译错误。我认为这是一个hintpath问题,如这里所示:但我仍然没有完全修复它。是的,这些可能会很麻烦。这些警告是否发生在尝试还原nuGet软件包之前?你有没有到过恢复命令行?
    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"
    
    <Import Project="$(SolutionDir)\.nuget\nuget.targets" />