如何在 Devenv 中指定发布版本?

Posted

技术标签:

【中文标题】如何在 Devenv 中指定发布版本?【英文标题】:How to specify Publish Version in Devenv? 【发布时间】:2011-05-30 12:07:22 【问题描述】:

我在通过脚本构建 Visual Studio 项目方面是全新的,所以如果您觉得我对该过程的理解不正确,请随时纠正我。

我有一个 Visual Studio 解决方案,它由一个 Wpf.exe 项目和几个类库项目组成。

目前我正在使用下面的脚本成功构建.sln 文件

"%VS_IDE_DIR%devenv.com" "...Solution-File-Path.sln" /rebuild Release /useenv

当前Wpf.exe 文件获取File VersionProduct Version 1.0.0.0,这是在Wpf 项目的Publish -> Publish Version 属性中指定的默认值。

我想通过我的脚本以某种方式设置File VersionProduct Version。我怎样才能做到这一点?

我有一个environment variable,其中包含Product VersionFile Version,基本上我想将产品版本和文件版本的值设置为等于我的环境变量。

【问题讨论】:

【参考方案1】:

有一个简单的方法可以做到这一点。在 WPF 项目中,打开 Properties 节点并双击 AssemblyInfo.cs。 [assembly: AssemblyFileVersion] 属性设置文件版本号。添加此项以设置产品版本号:

[assembly: AssemblyInformationalVersion("1.2.3.4")]

从命令行执行此操作仅在技术上是可行的。您必须创建本机文件版本资源并使用 rc.exe 对其进行编译。并使用 Project + Properties, Resource file 选项告诉编译器使用 rc.exe 生成的自定义 .res 文件。您需要编写脚本来更新版本资源。鉴于通过编辑 AssemblyInfo.cs 很容易做到这一点,我建议您不要费心。

【讨论】:

知道如何在不通过MS Build 的情况下通过命令行修改AssemblyInfo.csdevenv.com我现在用的和MSBuild不一样吧? 编写一个可以从命令行调用的小程序。记事本也很好用。【参考方案2】:

您可以在运行 ms build 命令时添加/p:ApplicationVersion=1.0.0.1。指定的版本号将是项目在编译 exe 时将使用的版本号。

更新:

我已将项目标签内的以下 xml 代码添加到我的解决方案的项目文件中。

<ItemGroup>
<Tokens Include="ApplicationVersion">
      <ReplacementValue>$(ApplicationVersion)</ReplacementValue>
      <Visible>false</Visible>
</Tokens>
 </ItemGroup>

【讨论】:

当我运行 "%VS_IDE_DIR%devenv.com" "...SolutionPath.sln" /rebuild Release /useenv /p:ApplicationVersion=1.0.0.1 它给了我错误 Invalid Command Line. Unknown Switch : p:ApplicationVersion=1.0.0.1. 试试"%VS_IDE_DIR%devenv.com" "...SolutionPath.sln" /rebuild Release /useenv /ApplicationVersion 1.0.0.1。一定是语法错误。我也测试过。 如果你指定参数值,运行p:/ApplicationVersion=1.0.0.1。如果没有,只需添加/ApplicationVersion 1.0.0.1 试试它们。不管你使用什么 dll,因为编译的主项目文件是你的 wpf 应用程序 当我添加\p:ApplicationVersion=1.0.0.1 我得到Invalid Command Line. Unknown Switch : p:ApplicationVersion=1.0.0.1。只是提醒一下,我的 .sln 由几个 dll + 一个 wpf.exe 项目组成。我只在 wpf 项目中添加了Xml 部分 当我添加 /Application=1.0.0.1 我得到 Invalid Command Line. Unknown Switch : ApplicationVersion=1.0.0.1

以上是关于如何在 Devenv 中指定发布版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 DPC++ 编译器选项中指定 C++ 标准版本?

如何在 Android Studio 中指定 JDK 版本?

如何在 Codemagic 中指定目标平台 ios 版本号

如何在 docker compose 版本 3 中指定内存和 CPU 限制

如何在 package.json 中指定所需的 Node.js 版本?

如何在eclipse中指定链接时使用的库版本?