将便携式转换为.Net Standard在本地构建,但不使用Team Build

时间:2017-12-27 14:21:38

标签: tfsbuild .net-standard

我在将Portable C#项目转换为.Net Standard 2.0时遇到问题。

我遵循了Adam Pedley在Upgrade PCL to .NET Standard Class Library中概述的方法,最终让一切都在本地运作。但是,在我们的构建服务器上排队时,我遇到以下错误:

  

C:\ Program Files \ dotnet \ sdk \ 2.0.3 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.PackageDependencyResolution.targets(323,5):错误:资产文件' D:\ Builds \代理-57-01_work \ 11 \ S \ MyProject的\ OBJ \ project.assets.json'未找到。运行NuGet包还原以生成此文件。 [d:\构建\代理-57-01_work \ 11个\ S \ MyProject的\ MyProject.csproj]

我们的构建服务器正在运行代理版本2.120.2并且具有Visual Studio 15.4.5。安装。

1 个答案:

答案 0 :(得分:1)

请使用最新的NuGet(您可以尝试 Nuget Version 4.3.0 )来恢复软件包。

如果您使用的是VSTS,则可以使用 NuGet Tool Installer 安装Nuget版本4.3.0。

对于TFS内部部署,请按照以下解决方法进行操作:(有关详细信息,请参阅Using the latest NuGet in your build。)

  

因为NuGet Tool Installer在TFS版本中不可用   在TFS 2018之前,建议使用解决方法来使用版本   of NuGet> Team Build中的4.0.0。

     
      
  1. 添加任务(如果尚未添加)。如果您有“NuGet Restore”   目录中的步骤(可能在“弃用任务”部分中),   将其插入您的构建中。否则,插入“NuGet”步骤。
  2.   
  3. 为了你的   在NuGet / NuGet安装程序步骤中,使用任务下的版本选择器   名称以选择版本“0. *”。
  4.   
  5. 在“高级”部分中,设置NuGet   版本为“自定义”和NuGet.exe的路径为    $(Build.BinariesDirectory)\ nuget.exe
  6.   
  7. 在NuGet步骤之前,添加一个   在“PowerShell”步骤中,选择“内联脚本”作为类型,输入此内容   PowerShell脚本作为内联脚本,并输入“4.3.0”(或任何   来自此列表的NuGet版本)作为参数。
  8.   

另请参阅以下主题: