MS构建参数(发布到文件系统如何将多个项目放在不同的目录中)

时间:2017-07-27 18:32:32

标签: msbuild tfs2015 vnext

我正在使用vnext构建,我不想创建包的zip文件夹。我当前的MSBuild参数创建了zip文件夹。

  

/ p:CreatePackageOnPublish = true / p:DeployOnBuild = true / p:WebPublishMethod = Package /p:PackageLocation="$(build.stagingDirectory)“

- abc.zip --Packages.zip .... --test.zip

我正在使用下面的MS构建参数,但是当我运行构建时,它会在同一解决方案下为各个项目创建单独的文件夹。有什么解决方案吗????

  

p:DeployOnBuild = True / p:DeployDefaultTarget = WebPublish / p:WebPublishMethod = FileSystem / p:DeleteExistingFiles = True   / P:publishUrl = $(build.artifactstagingdirectory)

2 个答案:

答案 0 :(得分:1)

在发布配置文件中使用相对路径(.... \ a \ WebMVC)(这些项目的配置文件名称相同,例如MyPublish.pubxml),例如:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <PrecompileBeforePublish>True</PrecompileBeforePublish>
    <EnableUpdateable>True</EnableUpdateable>
    <DebugSymbols>False</DebugSymbols>
    <WDPMergeOption>DonotMerge</WDPMergeOption>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>..\..\a\WebMVC</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

然后论证:/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:PublishProfile="MyPublish"

您还可以为每个项目添加多个Visual Studio Build任务,只需为每个项目添加其他参数/t:[projectname]

答案 1 :(得分:0)

在不同目录中发布多个项目。您可以通过为每个项目设置发布配置文件来实现此目的。为具有相同名称的每个项目添加发布配置文件

然后,您可以使用File system Publish Method将输出发布到每个项目的不同目录。

在Ms-build Argument中调用Publish配置文件。

/p:DeployOnBuild=true;PublishProfile=yourProfileName

这不会打包文件并创建.zip个文件夹。有关创建发布配置文件等更多详细信息,请参阅本教程(即使它与旧的XAML版本相关) - How to Publish multiple Web Projects in one Solution with TFS Build