11

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

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

我相信我需要通过的论点是:

/p:OutDir=$(build.stagingDirectory)
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true 

如果有一种替代方法可以产生相同的输出内容,只是不在同一个文件夹目录中,那很好。

4

2 回答 2

22

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

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

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

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

于 2016-04-20T14:10:46.633 回答
1

对于 FileSystem 发布,可以通过以下方式完成:

MSBuild(/**project path**/, settings =>
    settings.SetConfiguration(/**configuration**/)
    .WithProperty("DeployTarget", "WebPublish")
    .WithProperty("DeployOnBuild", /**boolean**/)
    .WithProperty("PackageAsSingleFile", /**boolean**/)
    .WithProperty("WebPublishMethod", "FileSystem")
    .WithProperty("PublishUrl", /**url**/)
);
于 2018-06-26T13:55:07.747 回答