在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
任何帮助都将不胜感激。
答案 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
希望这有助于像我这样的人,他们想要一种方法来实现这一点。