如何在 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 Version
和Product Version
1.0.0.0
,这是在Wpf 项目的Publish -> Publish Version
属性中指定的默认值。
我想通过我的脚本以某种方式设置File Version
和Product Version
。我怎样才能做到这一点?
我有一个environment variable
,其中包含Product Version
和File 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.cs
? devenv.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 中指定发布版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中指定 JDK 版本?
如何在 docker compose 版本 3 中指定内存和 CPU 限制