【问题标题】:WebDeploy: Change Package Output folder in Web Publishing PipelineWebDeploy:更改 Web 发布管道中的包输出文件夹
【发布时间】:2015-09-03 13:18:38
【问题描述】:

我有一个包含多个 webapp 项目的 Visual Studio 解决方案。构建应该为每个项目创建一个 web 包。 Web 包最终应该以这样的文件夹结构结束:

$(Outputfolder)
|
+-- Web
    |
    +-- <name package 1>
    |   |
    |   +-- ... package files ...
    |
    +-- <name package 2>
    |   |
    |   +-- ... package files ...
    |
    +-- ...
    |

为了更改 Web 包的目标文件夹,我向每个 Web 应用程序项目添加了一个 .wpp.targets 文件。这里我调整了 DefaultPackageOutputDir 属性:

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <DefaultPackageOutputDir Condition=" '$(DefaultPackageOutputDir)'=='' ">$(OutFolder)Web\Webapp1\</DefaultPackageOutputDir>
  </PropertyGroup>

</Project>

这就是我所说的 MSBuild。我只是将输出文件夹作为属性移交:

<MSBuild Projects="@(ItemToBuild)"
         Targets="Build"
         Properties="Configuration=$(Configuration);
                     Platform=$(Platform);
                     DeployOnBuild=True;
                     DeployTarget=Package;
                     OutFolder=$(OutFolder)" />

这可以解决问题,但我并不完全满意。我想让构建更通用。困扰我的是,我必须明确命名 webapp。我的想法是改用属性 DefaultMSDeployDestinationApplicationName:

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <DefaultPackageOutputDir Condition=" '$(DefaultPackageOutputDir)'=='' ">$(OutFolder)Web\$(DefaultMSDeployDestinationApplicationName)\</DefaultPackageOutputDir>
  </PropertyGroup>

</Project>

不幸的是,DefaultMSDeployDestinationApplicationName 属性似乎为空。包文件最终位于 Web 文件夹中。我猜在读取 .wpp.targets 文件时尚未定义属性 DefaultMSDeployDestinationApplicationName。

有人知道定义属性 DefaultPackageOutputDir 的更好位置吗?

【问题讨论】:

  • 你解决过这个问题吗?
  • 不,我无法解决这个问题。我终于改用 FAKE 了。
  • 我明白了——见下文。

标签: msbuild msdeploy webdeploy


【解决方案1】:

通过为 MsBuild 指定以下选项,我能够更改 Web 项目的输出目录:

/p:OutDir="$(build.artifactstagingdirectory)\$(BuildConfiguration)" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多