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

问题描述 投票:0回答:1

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

我遵循亚当·佩德利在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 \ Agent-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。安装。

tfsbuild .net-standard
1个回答
1
投票

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

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

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

由于NuGet Tool Installer在TFS 2018之前的TFS版本中不可用,因此建议在Team Build中使用NuGet> 4.0.0版本。

  1. 如果您还没有,请添加任务。如果目录中有“NuGet Restore”步骤(可能在“不推荐使用的任务”部分中),请将其插入到构建中。否则,插入“NuGet”步骤。
  2. 对于NuGet / NuGet安装程序步骤,请使用任务名称下的版本选择器选择版本“0. *”。
  3. 在“高级”部分中,将NuGet版本设置为“自定义”,将NuGet.exe的路径设置为$(Build.BinariesDirectory)\ nuget.exe
  4. 在NuGet步骤之前,添加“PowerShell”步骤,选择“Inline Script”作为Type,输入此PowerShell脚本作为内联脚本,并输入“4.3.0”(或此列表中的任何版本的NuGet)作为参数。

另请参考以下主题:

© www.soinside.com 2019 - 2024. All rights reserved.