TFS 2018构建(MSBuild)多个项目错误

时间:2018-02-06 18:56:04

标签: tfs msbuild

我正在将旧的TFS XAML构建定义转换为TFS2018中的新构建机制。在旧的定义中,我可以通过填写项目来构建多个项目,以在默认构建模板中构建项目,并使用“,”逗号分隔项目。

$ / WMS /开发/ sekoWMS / DPURevisionUpdater / DPURevisionUpdater.csproj,$ / WMS /开发/ sekoWMS / DesktopApp / SEKOWMS / SEKOWMS.csproj

我在TFS 2018中有一个新版本,当我在“构建解决方案任务”的解决方案行中指定相同的参数时,我得到以下编译器错误:

“C:\ agent_work_tasks \ VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda \ 1.120.0 \ ps_modules \ MSBuildHelpers \ vswhere.exe”-version [15.0,16.0] -latest -format json “C:\ agent_work_tasks \ VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda \ 1.120.0 \ ps_modules \ MSBuildHelpers \ vswhere.exe”-version [15.0,16.0] - 产品Microsoft.VisualStudio.Product.BuildTools -latest -format json “C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ msbuild.exe”“C:\ agent_work \ 3 \ s \ Dev \ Dev \ sekoWMS \ DPURevisionUpdater \ DPURevisionUpdater.csproj, $ \ WMS \ Dev \ sekoWMS \ DesktopApp \ SEKOWMS \ SEKOWMS.csproj“/ nologo / nr:false / t:”Clean“/dl:CentralLogger,"C:\agent_work_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.120 0.0 \ ps_modules \ MSBuildHelpers \ Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll “;” RootDetailId = 58de9b3f-5678-49d1-8fd4-e40a7fda7f3f | SolutionDir = C:\ agent_work \ 3 \ S \开发\开发\ sekoWMS \ DPURevisionUpdater \ DPURevisionUpdater.csproj,$ \ WMS \开发\ sekoWMS \ DesktopApp \ SEKOWMS “* ForwardingLogger,” C:\ agent_work_tasks \ VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda \ 1.120.0 \ ps_modules \ MSBuildHelpers \ Microsoft.TeamFoundation.DistributedTask .MSBuild.Logger.dll“/ t:UpdateRevision / target:publish / property:PublishDir =”\ harmonywebdev.admin.sekoww.com \ SEKOApps \ sites \ Downloads \ SEKOWMSUtilityDev \“/ property:InstallURL =”http:// harmonywebdev .admin.sekoww.com:9300 / SEKOWMSUt ility ... MSBUILD:错误MSB1009:项目文件不存在。 开关:C:\ agent_work \ 3 \ s \ Dev \ Dev \ sekoWMS \ DPURevisionUpdater \ DPURevisionUpdater.csproj,$ \ WMS \ Dev \ sekoWMS \ DesktopApp \ SEKOWMS \ SEKOWMS.csproj 进程'msbuild.exe'退出,代码为'1'。

有没有办法指定多个项目(来自不同的)目录,以便正确编译?

2 个答案:

答案 0 :(得分:1)

新的构建系统不支持逗号分隔项目,它只支持Wildcard。包括@ Daniel的建议,您还可以尝试以下步骤:

首先,映射您要构建的所有项目:

enter image description here

然后,在构建任务中指定**\*.csproj

enter image description here

答案 1 :(得分:0)

以下是一些选项:

  1. 使用解决方案文件
  2. 使用多个构建步骤
  3. 创建自己的自定义msbuild .proj文件