TFS 2015发布工件

时间:2018-05-25 13:24:20

标签: visual-studio-2015 tfs msbuild

在TFS 2015下的命令行步骤中,我有:    C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.com

根据论据: “MuSolution.sln”/ build $(BuildConfiguration)

将配置版本配置为..\bin\ 和Debug配置为..\bin\Debug\

我检查了

  

$(BuildConfiguration)

是发布,它是为发布而构建的 在发布构建工件步骤 Root被指定为$ SomeRootFolder \ MySolution,其中bin文件夹被写入

内容是:

/bin/**
/MySolutionApp/Web.config
/MySolutionApp/Global.asax
/MySolutionApp/ApplicationInsights.config

工件 MySolution

创建工件文件夹时没有任何内容。

我已经尝试了** \ bin **但是包括Debug文件夹在内的所有内容都被写了。

我需要在这个布局中使用Artifact:

MySolution\bin
/MySolution/Web.config
/MySolution/Global.asax
/MySolution/ApplicationInsights.config

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:0)

首先,使用Visual Studio Build步骤 - 它旨在正确运行Visual Studio。

其次,您需要为Web应用程序传递适当的MSBuild参数。 /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"是一个通用集,它将应用程序捆绑为Web部署zip文件。

/p:OutDir=$(build.artifactstagingdirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true应在$(Build.ArtifactStagingDirectory)中添加未压缩的版本。

您可能需要稍微调整这些参数以获得您想要的结果。

答案 1 :(得分:0)

**\bin\**从任何bin文件夹递归复制所有文件。您可以尝试以下匹配模式:

**\bin\$(BuildConfiguration)\**

MySolutionApp\Web.config

MySolutionApp\Global.asax

MySolutionApp\ApplicationInsights.config

答案 2 :(得分:0)

在MysSolution.sln和启动项目中,创建了一个发布配置文件MyReleasePublishProfile,其中包含Release和Any CPU以及目标位置,用于放置Bin和其余文件。

在TFS 2015中创建了MSBuild Visual Studio步骤,并指向我的解决方案MySolution.sln解决方案和设置 恢复NuGet软件包:Checked 配置:Release

高级:  MSBuild Version  MSBuild版本Latest  MSBuild体系结构MSBuild x64

MSBuild参数:

/p:DeployOnBuild=true /p:PublishProfile=MyReleasePublishProfile

希望这有助于像我这样的人,他们想要一种方法来实现这一点。