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