【问题标题】:How do I do a Visual Studio publish with a TFS 2017 build server?如何使用 TFS 2017 构建服务器进行 Visual Studio 发布?
【发布时间】:2017-03-08 16:01:24
【问题描述】:

我有一个要设置 CI 的 TFS 2017 服务器,但是我无法让构建定义“发布”我的项目,我的 MSBuild 步骤如下所示:

##[command]"C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe" "FILEPATHTOMYSLN" /nologo /nr:false /dl:CentralLogger,"SOMEPATHANDGUID\1.0.45\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll";"RootDetailId=SOMEGUID|SolutionDir=RootofSolution"*ForwardingLogger,"SOMEPATHANDGUID\1.0.45\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"  /p:platform="any cpu" /p:configuration="Debug" /p:VisualStudioVersion="14.0" /p:_MSDeployUserAgent="SOMEGUID"

如何让 MSBuild 创建仅包含 dll 和转换后的 web.config 的发布版本?

【问题讨论】:

    标签: tfs msbuild web-config


    【解决方案1】:

    如果您使用Visual Studio BuildMSBuild步骤,您只需在步骤中指定Configuration,在构建时,它将转换web.config 根据你指定的配置自动生成。

    例如,在 VS 构建步骤中,我为配置使用构建变量。然后我将此变量的值设置为“释放”。构建运行时,它将转换为发布版本。

    MSBuild 参数:/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

    【讨论】:

    • 是的,我以为我在尝试让它工作时做了大部分工作,我认为我的问题归结为缺乏部署经验,我需要在 obj 文件夹中查看几个目录才能找到我在 packagetmp 目录中需要的东西。我确实需要添加 /p:DeployOnBuild=true 。它压缩文件的方式不适用于 AWS,因此我使用 7zip 添加了更多构建步骤。这绝对让我走上了正确的道路,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2019-02-05
    • 2017-07-30
    • 2019-04-24
    • 2017-12-17
    • 2018-07-24
    • 2017-07-30
    相关资源
    最近更新 更多