【发布时间】:2016-09-01 23:04:52
【问题描述】:
直到最近,我们的持续交付设置还在使用以下命令交付 Service Fabric 包:
msbuild SFApp.sfproj /t:Package
这是必要的,因为目标 Package 在解决方案级别不可用。 IE。命令
msbuild SFSolution.sln /t:Package
失败,因为目标不存在。
随着我们的依赖网格的增长,大多数接口项目在没有解决方案文件的情况下将无法构建 (to work around the "OutputPath does not exist" red herring)。似乎有办法做到这一点according to this answer。不幸的是,虽然像 Clean 这样的目标可以工作......
msbuild SFSolution.sln /t:SFApplication:Clean
(…snip…)
Build succeeded.
0 Warning(s)
0 Error(s)
…目标包不会!
msbuild SFSolution.sln /t:SFApplication:Package
(…snip…)
Build FAILED.
"SFSolution.sln" (SFApplication:Package target) (1) -> SFSolution.sln.metaproj :
error MSB4057: The target "SFApplication:Package" does not exist in the
project. [SFSolution.sln]
0 Warning(s)
1 Error(s)
(解决方案/项目文件夹/名称省略/解释清楚。如有必要,我可以提供实际日志。)
所以问题是:我如何使用命令行,使用 Package 目标和 solution 文件构建 one 项目?
或者我如何才能从命令行打包 Service Fabric 应用程序?
【问题讨论】:
-
由于工作变动,这个问题与我无关,我可能永远无法接受答案。即使有人花时间提出正确的解决方案,我也无法验证其正确性。
-
我会补充一点,问题最终通过迁移到 VSTS 得到解决。我们从未想过如何将 MSBuild 用于这一目的。
标签: msbuild continuous-integration azure-service-fabric continuous-delivery