gpt4 book ai didi

.net - 如何让 MSBuild 在构建服务器上增加 ClickOnce 发布修订版本号?

转载 作者:行者123 更新时间:2023-12-04 06:08:03 25 4
gpt4 key购买 nike

我们有一个 NAntCVS check out 的脚本然后运行 ​​MSBuild发布应用程序。问题是我们必须记住在 Visual Studio 中始终增加版本。

我们可以选择在发布时自动增加它,但这在下一次结帐时会被删除,我宁愿不必让构建脚本来 checkin 项目文件。

有没有一种简单的方法可以做到这一点?

最佳答案

更新 MinimumRequiredVersion自动地

项目编辑器简介

  • 在解决方案资源管理器中,右键单击您的项目并选择卸载项目。

    Screenshot of Unloading
  • 一旦项目变得不可用,再次右键单击并选择编辑 <project_name>.<lang>项目

    Screenshot of Opening Editor

  • MSBuild 简介
  • 属性使用键/值对来提取信息
  • 使用属性名称作为别名,可以使用 $(OutputPath)获取元素的值 <OutputPath>.\bin</OutputPath>
  • 我们将使用为 ClickOnce 部署生成的以下属性

    <MinimumRequiredVersion>1.0.0.6</MinimumRequiredVersion>
    <ApplicationRevision>7</ApplicationRevision>
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
  • MSBuild Tasks可以在项目 (*.proj) 文件中指定并在构建事件期间调用。
  • FormatVersion 是 .NET 4.0 及更高版本的内置任务,用于将 ApplicationVersion 和 ApplicationRevision 格式化为单个版本号。

  • 执行
  • 将以下代码复制并粘贴到打开的项目文件中,作为根 <Project> 的子元素元素。

    <Target Name="AutoSetMinimumRequiredVersion" BeforeTargets="GenerateDeploymentManifest">
    <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
    <Output PropertyName="MinimumRequiredVersion" TaskParameter="OutputVersion" />
    </FormatVersion>
    <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
    <Output PropertyName="_DeploymentBuiltMinimumRequiredVersion" TaskParameter="OutputVersion" />
    </FormatVersion>
    </Target>

    此代码将 ApplicationVersion 和 ApplicationRevision 作为 Format Version 任务中的参数,并将通过使用完整发布版本覆盖 MinimumRequiredVersion 来保存输出。
  • 保存并重新加载您的项目。现在,每个 ClickOnce 部署都会自动更新到最近发布的版本。


  • 非常感谢 Kev their answer我基本上已经在这里重新整理,并为任何初学者添加了一些额外的说明。这是一个 blog post我在这里提出了在我的答案中进一步扩展的问题。

    关于.net - 如何让 MSBuild 在构建服务器上增加 ClickOnce 发布修订版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482360/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com