将MSBuild参数传递给Cake Build Script以生成_PublishedWebsites

Sou*_*Dev 10 c# asp.net msbuild asp.net-mvc cakebuild

我目前正在编写一个Cake构建脚本来构建许多ASP.NET MVC站点.

目前,我无法看到将参数传递给MSBuild以生成_PublishedWebsites文件夹以进行部署的选项.

我相信我需要传递的论据是:

/p:OutDir=$(build.stagingDirectory)
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true 
Run Code Online (Sandbox Code Playgroud)

如果有另一种方法产生相同的输出内容,而不是在同一个文件夹目录中就可以了.

Pat*_*son 21

以下示例应在从Cake构建网站解决方案时设置正确的MSBuild属性.

MSBuild("./src/Website.sln", new MSBuildSettings()
  .WithProperty("OutDir", "$(build.stagingDirectory)")
  .WithProperty("DeployOnBuild", "true")
  .WithProperty("WebPublishMethod", "Package")
  .WithProperty("PackageAsSingleFile", "true")
  .WithProperty("SkipInvalidConfigurations", "true"));
Run Code Online (Sandbox Code Playgroud)

要设置网站的输出目录,只需将"$(build.stagingDirectory)"部分替换为您希望输出显示的目录的路径.

您可以在这里阅读有关Cake中MSBuild别名的更多信息:http://cakebuild.net/api/cake.common.tools.msbuild/