Wcf &引用;“网络出版”;(.net core)生成步骤在具有多个项目的visual studio team services中不起作用

Wcf &引用;“网络出版”;(.net core)生成步骤在具有多个项目的visual studio team services中不起作用,wcf,asp.net-core,msbuild,azure-devops,visual-studio-2017,Wcf,Asp.net Core,Msbuild,Azure Devops,Visual Studio 2017,我们有一个VS 2017解决方案,其中包括一个WCF服务项目和一个针对.net framework 4.5.2和.net core 1.0(1.0.0-preview2-003131)的.net核心web应用程序 由于某些原因,我无法通过VisualStudioTeamServices中的“dotnetpublish”命令发布网站 问题出现在生成步骤“dotnet publish”中,project被指定为仅匹配web项目解决方案文件(**/InventoryIndexWeb.csproj),因

我们有一个VS 2017解决方案,其中包括一个WCF服务项目和一个针对.net framework 4.5.2和.net core 1.0(1.0.0-preview2-003131)的.net核心web应用程序

由于某些原因,我无法通过VisualStudioTeamServices中的“dotnetpublish”命令发布网站

问题出现在生成步骤“dotnet publish”中,project被指定为仅匹配web项目解决方案文件(**/InventoryIndexWeb.csproj),因为我只希望在此生成中发布web

给出以下错误:

  • MSBUILD:错误MSB1008:只能指定一个项目

  • Dotnet命令在以下项目上失败,退出代码为非零:d:\a\3\s\WebSites\InventoryIndex\Staging\InventoryIndexWeb\InventoryIndexWeb.csproj

有关详细信息,请参见屏幕截图:


有什么建议可以解决这个问题或解决方法吗?我们的计划是,当发布步骤开始工作时,也将此推送到Octopus deploy。

您不能将多个项目/参数传递给
dotnet publish

在您的例子中,您似乎已将artifacts文件夹作为第二个参数传递。为此,请在该目录之前添加
-o

dotnet publish your.csproj -o $(Build.ArtifactStagingDirectory)

更改为将-o作为参数传递,而不是只传递$(Build.ArtifactStagingDirectory),实现了上面Martin所述的技巧,最终配置如下


非常感谢马丁,现在它可以正常工作了:)