2017-07-27 39 views
0

我正在使用vnext構建,並且我不想創建這些包的zip文件夾。我目前的MSBuild參數創建ZIP folders./p:CreatePackageOnPublish=true/P:DeployOnBuild = TRUE/P:WebPublishMethod =包/p:PackageLocation="$(build.stagingDirectory)」MS構建參數(發佈到文件系統如何將多個項目放在不同的目錄中)

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

我使用下面的MS建立參數,但是當我運行構建它爲同一個解決方案下的個別項目單獨的文件夾。有沒有解決方案?

號碼:DeployOnBuild =真/ P:DeployDefaultTarget = WebPublish/P:WebPublishMethod =文件系統/ P:DeleteExistingFiles =真 /p:publishUrl=$(build.artifactstagingdirectory)

+0

有兩個不同的MSbuild參數,你實際使用哪一個參數? –

回答

0

要發佈在不同的目錄中的多個項目。您可以通過爲每個項目設置發佈配置文件來實現此目的。爲每個項目添加同名的發佈配置文件。

然後,您可以使用File system Publish Method將輸出發佈到每個項目的不同目錄。

在Ms-build參數中調用發佈配置文件。

/p:DeployOnBuild=true;PublishProfile=yourProfileName 

這不會包中的文件,並創建.zip文件夾。有關更多詳細信息(如創建發佈配置文件),請參閱本教程(即使它與舊的XAML內部版本相關) - How to Publish multiple Web Projects in one Solution with TFS Build

0

在發佈配置文件中使用相對路徑(.... \ 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生成任務,對每一個項目,只需添加額外的參數/t:[projectname]爲每個項目。

相關問題