【发布时间】:2018-02-03 22:10:39
【问题描述】:
我有一个可以正确构建的项目,但在 Teamcity 中失败了。由于 Teamcity 依赖于 MSBuild,我手动运行 msbuild 来查看问题。
所以,我将 .net 4.7 / asp.net / core .net 2.0 项目克隆到 2 个文件夹中:
首先,我使用 VS 进行构建和发布:没有错误
在另一个文件夹中,我这样做:
msbuild Test.sln /p:Configuration=Release /p:Platform="Any CPU" /t:publish
我得到 2 个错误(不同的库相同两次)
C:\Program Files\dotnet\sdk\2.0.0\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Publish.targets(249, 5): error MSB4018: The "ResolvePublishAssemblies" task failed unexpectedly.
System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at Microsoft.NET.Build.Tasks.PublishAssembliesResolver.<GetResolvedFiles>d__7.MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at Microsoft.NET.Build.Tasks.PublishAssembliesResolver.Resolve(ProjectContext projectContext)
at Microsoft.NET.Build.Tasks.ResolvePublishAssemblies.ExecuteCore()
at Microsoft.NET.Build.Tasks.TaskBase.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
我真的找不到好的信息,因为有关此错误的所有内容都与 .net 2.0 的 beta 版本有关
有什么想法吗?
【问题讨论】:
-
这将有助于从构建中获取诊断或二进制日志。您可以将
/bl添加到命令中并上传生成的msbuild.binlog文件吗?你甚至可以在github.com/dotnet/sdk 上打开一个关于它的问题,因为这是失败任务的来源。 -
我刚刚在他们的 github (github.com/dotnet/sdk/issues/1542) 上做了同样的帖子,我会在这里发布任何答案。
-
您使用的是最新版本的 .NET 2.0(非测试版)吗?
-
可以试试这个命令吗?
msbuild Test.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name> /p:Configuration=Release /p:Platform="Any CPU" -
是的,我使用的是 .NET 2.0 的最终版本
标签: .net visual-studio msbuild