【发布时间】:2018-03-21 18:55:29
【问题描述】:
我有一个包含四个项目的 Visual Studio 解决方案:
1 个桌面应用程序; 1个Windows服务; 2 个 Web API 项目。
这些项目是从 VS2010 -> 2013 -> 2017 迁移而来的。我已经删除/编辑了尽可能多的遗留内容。
该解决方案在 2017 年构建良好。
我希望只构建一个 Web API 项目,生成一个部署包,并将该包发布为一个工件。发布定义将使用 WinRM 在运行 IIS 的 Windows Server 2012 系统上部署包。
在我的构建定义中,我有一个 MSBuild 任务。
该任务的参数如下:
- 项目在 TFS 源代码控制中设置为我的 webAPI .csproj 的路径
- 平台设置为“AnyCPU”-(“Any CPU”不起作用..这是一个已知(旧)问题)
- 配置为“发布”
- MSBuild 参数是:
/p:DeployOnBuild=true /p:WebPublishMethod=包 /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation=$(Build.ArtifactStagingDirectory)\webapi.zip
- Clean 设置为 true
构建成功完成,但是生成的 webapi.zip 包包含大量文件夹结构:
C:\agent2_work\27\a\webapi.zip\Content\C_C\agent2_work\27\s\MyProduct.WebApi\obj\release\Package\PackageTmp
问题:
- 为什么要打包这个完整的路径? (c:\agent2_work 是我的构建代理的目录)
- 如何更改?
【问题讨论】:
标签: asp.net-web-api tfs msbuild visual-studio-2017