使用 MSBuild 进行 ClickOnce 部署 -> 如何传递应用程序版本/或自动增量的当前内部版本号

2023-12-30

我们有一个使用 ClickOnce 部署的 Outlook 加载项。

一旦开发人员签入构建,PC 就会对构建进行排队,并将应用程序发布到共享驱动器上的某个位置。

问题在于,构建不会将发布版本更改为当前程序集版本,因此它会在先前版本的文件夹中发布,这会导致安装程序损坏,提示无法安装该版本。

我读了那篇文章 https://stackoverflow.com/questions/8482360/how-can-i-get-msbuild-to-increment-clickonce-publish-revision-version-number-on。我设置了[程序集:AssemblyVersion(“1.0.*”)]。依然没有。

我找到了一种方法来解决这个问题,通过增加<ApplicationVersion></ApplicationVersion>在 *.csproj 文件中。但我希望它能够自动化。

另一个解决方法是在执行 msbuild.exe 时:

/target:publish   /property:PublishDir="\\sharedDir\\" /property:GenerateManifests=true
/property:ApplicationVersion=1.0.0.123

但它仍然不是自动化的。我真的很想将当前版本号传递给 msbuild.exe 或在每个版本中替换中的值<ApplicationVersion></ApplicationVersion>与实际的内部版本号。或者还有别的办法吗?


我遇到了同样的问题,这就是我来到这里的原因。我能够使用您问题中的代码作为基础来解决。以下是使用 TFS 解决问题的步骤。

打开构建模板并打开工作流程底部的“参数”选项卡。找到MSBuildArguments并修改默认值。以下是我最终得到的结果:

// Note: You can use /p for /property and /t for /target

"/t:Publish /p:PublishDir=<PublishDirectory> /p:ApplicationVersion="
    + Date.Today.ToString("yyyy") + "."
    + Date.Today.ToString("MMdd") + "."
    + Date.Now.Hour.ToString() + "."
    + Date.Now.Minute.ToString()

当然,现在您需要保存并签入新的构建文件。我在让构建定义使用新值时遇到问题,因此我刚刚创建了一个新的构建定义。

这将创建一个新的应用程序文件夹,例如:

<ApplicationName>_2013_0315_09_55

我知道这是对旧帖子的新答案,因此我确信您已经找到了另一个解决方案,但我希望这可以帮助任何想要将 ClickOnce 部署与 TFS 结合使用的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MSBuild 进行 ClickOnce 部署 -> 如何传递应用程序版本/或自动增量的当前内部版本号 的相关文章

随机推荐

  • 使用 Java 解析 XML 并获取元素值和属性值

    我有一个 XML 文件 元素也有属性 我有一个简单的 java 文件 它解析和打印文本文件中元素的值 但不解析和打印元素属性值 请您帮助获取要打印的属性值 我粘贴下面的代码 employees xml 文件
  • javascript setTimeout 是否保证会触发

    我读过这篇文章 http ejohn org blog how javascript timers work http ejohn org blog how javascript timers work 我知道如果页面太忙 setInter
  • 程序集定义错误

    我试图摆弄我的汇编函数以使其正常工作 但遇到了一些难以解决的错误 其中之一是 A2005 它声明了符号重新定义 Average 另一种是 A1010 它指出了不匹配的块嵌套 Average 任何帮助表示赞赏 cpp代码 include
  • 将 eclipse 项目导入到 Android studio - 错误“此项目引用 Eclipse 工作区...”

    我尝试将现有项目 eclipse 导入到 Android Studio 但在导入时收到一条无法解决的对话框消息 此项目引用其项目元数据中的 Eclipse 工作区相对路径 为了帮助导入项目 请指向 Eclipse 工作区目录 请检查截图 我
  • JSON.parse() 正则表达式值的问题

    我有以下 JSON 字符串 使用 PHP 5 2 json encode 编码 foo 此 JSON 字符串有效 您可以在以下位置查看 http www jsonlint com http www jsonlint com 但是本机 JSO
  • 在 VB 2010 中的数据表中插入新列时,如何更新 SQL Server 2008 数据库?

    使用 VB 2010 和 SQL Server 2008 我能够在数据表中插入新行 删除行和更新数据 并使用数据适配器更新数据库 不会出现任何问题 当我尝试添加新列时 该列出现在数据表中 但不会更新到数据库 我目前正在使用 DataAdap
  • 如何向表格行添加边距 [重复]

    这个问题在这里已经有答案了 我有一个包含许多行的表 其中一些行是class highlight 并表示需要采用不同样式并突出显示的行 我想要做的是在这些行之前和之后添加一些额外的间距 以便它们看起来与其他行稍微分开 我以为我可以完成这件事m
  • 将手势识别器应用到导航栏时遇到问题

    在我的 iPad 应用程序中 我的屏幕上有多个视图 我想要做的是将双击手势识别器应用到导航栏 但我没有成功 但是当相同的手势识别器应用于该视图时它就可以工作了 这是我正在使用的代码 Create gesture recognizer not
  • 如何在 Maven 2 中的两个测试套件之间切换?

    我们正在使用maven surefire 插件 http maven apache org plugins maven surefire plugin 运行我们的 Java 测试 测试分为两类 快速测试 测试缓慢 整个 快速 套件只需几秒钟
  • 理解和使用复制赋值构造函数

    我试图了解复制赋值构造函数在 C 中的工作原理 我只使用过java 所以我真的对此一无所知 我读过并发现返回参考文献是一个很好的做法 但我不知道应该如何做到这一点 我写了这个小程序来测试这个概念 主要 cpp include
  • 计算文件中的空白行数

    In 计算 bash 中的 非空白 代码行数 https stackoverflow com questions 114814 count non blank lines of code in bash他们解释了如何计算非空行的数量 但是有
  • 调用线程必须是STA

    我正在尝试模拟射弹 并尝试仅在定时事件中创建标签一次 因为它的参数中有一个我需要在定时事件中的对象 但是当我运行它时出现这个线程错误 请帮助 我的代码是 void onTimedEvent Object source ElapsedEven
  • 无法连接到服务器: dial tcp [::1]:8080: connectex: 由于目标机器主动拒绝而无法建立连接

    我正在研究 Azure Kubernetes 我们可以在 Azure 中存储 Docker 映像 我正在尝试检查我的 kubectl 版本 然后我得到 无法连接到服务器 拨打 tcp 1 8080 connectex 否 由于目标机器主动拒
  • 有人有 ERD 符号快速参考吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一页快速参考或备忘单 最好是 PDF 格式 以了解 Crowsfoot Martin 表示法
  • isset() 和 array_key_exists() 有什么区别? [复制]

    这个问题在这里已经有答案了 以下两个函数调用如何比较 isset a key array key exists key a array key exists https www php net manual function array k
  • 如何在 WPF 中使用 XAML 设置 ComboBox 标头

    过去几天我一直试图为我的组合框创建标题 但我似乎找不到方法 到目前为止我发现的所有内容都无法在我的模型中实现 我不得不说我对数据绑定的了解很薄弱 我一直在认真阅读它 我创建了一个组合框并用来自不同数据库的数据填充它 然后 我使用转换器连接相
  • PHP - 将变量传递给类

    我正在尝试学习 OOP 并且我已经完成了这门课 class boo function boo another class some normal variable some normal variable another class gt
  • 将图像对齐到段落 css 的右侧

    我想将图像与段落的右侧对齐 并且我希望能够这样做 而不必在段落上设置固定宽度以及远离图像的一些填充 我怎样才能做到这一点 https jsfiddle net mnakoajk https jsfiddle net mnakoajk box
  • ios9 无法加载资源

    当我在 ios9 中调用我的 api 时遇到此错误 但在 ios8 中工作正常 无法加载资源 因为应用程序传输安全策略需要使用安全连接 ios9 您需要在 plist 中添加一个标志 更多信息请访问https forums develope
  • 使用 MSBuild 进行 ClickOnce 部署 -> 如何传递应用程序版本/或自动增量的当前内部版本号

    我们有一个使用 ClickOnce 部署的 Outlook 加载项 一旦开发人员签入构建 PC 就会对构建进行排队 并将应用程序发布到共享驱动器上的某个位置 问题在于 构建不会将发布版本更改为当前程序集版本 因此它会在先前版本的文件夹中发布