gpt4 book ai didi

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

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

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

开发人员 checkin 构建后,PC 会将构建排入队列,并将应用程序发布到共享驱动器上的某个位置。

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

我已阅读 that article .然后我设置了 [assembly: 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()

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

这将创建一个新的应用程序文件夹,如:
<ApplicationName>_2013_0315_09_55

我知道这是对旧帖子的新答案,所以我确定您已经找到了另一个解决方案,但我希望这可以帮助其他想要将 ClickOnce 部署与 TFS 一起使用的人。

关于.net - 使用 MSBuild 进行 ClickOnce 部署 -> 如何传递应用程序版本/或自动增量的当前内部版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10483254/

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