【发布时间】:2019-05-16 20:09:04
【问题描述】:
在“托管 VS2017”和自托管构建代理 (Windows Server 2012 R2) 上,使用指定的发布配置文件运行 dotnet publish 失败:
C:\程序 Files\dotnet\sdk\2.1.502\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198,5): 错误 NETSDK1047:资产文件 'C:\agent_work\11\s\\obj\project.assets.json' 没有 '.NETCoreApp,Version=v2.1/win-x64' 的目标。确保还原具有 运行并且您已在 TargetFrameworks 中包含“netcoreapp2.1” 为您的项目。您可能还需要在您的 项目的 RuntimeIdentifiers。
在本地开发服务器(Win10、VS2017、许多不同的 .net sdk 版本)上,当我使用完全相同的命令行进行 dotnet 发布时,一切正常。
我已经尝试了一切,从更新 VS2017、安装我们所针对的 .net 核心 SDK 和运行时的确切版本、更新构建代理、Windows 更新......似乎没有任何帮助。我不明白为什么它有不同的行为。
发布配置文件是一个文件系统配置文件,并指定了以下两个元素:
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
命令行如下所示:"C:\Program Files\dotnet\dotnet.exe" publish "C:\agent\_work\11\s\Source\TheProject.csproj" --no-build -c Release -f netcoreapp2.1 /p:PublishProfile="Publish Release To Filesystem.pubxml" -o C:\agent\_work\11\a\Website -v d
有没有人知道我可以做些什么来让它工作?
【问题讨论】:
-
您是否运行了包还原?您的管道是什么样的?
-
我已经将管道简化为简单地获取代码和运行 dotnet cli 任务。我尝试了 dotnet build、dotnet restore 和 dotnet build --no-restore 和 dotnet publish --no-build 等。它抱怨的东西没有意义,特别是考虑到它在我的开发机。我还可以提供哪些其他信息来帮助诊断?
-
当您将
-r win-s64传递给dotnet publish时?您是如何使用发布配置文件调用发布的?
标签: asp.net-core msbuild .net-core azure-devops azure-pipelines