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

C# 如何在Devenv中指定发布版本?,c#,build,devenv,version-numbering,C#,Build,Devenv,Version Numbering,我是通过脚本构建VisualStudio项目的新手,如果您觉得我对该过程的理解不正确,请随时纠正我 我有一个visual studio解决方案,它由一个Wpf.exe项目和几个类库项目组成 目前,我正在使用下面的脚本成功地构建.sln文件 %VS\u IDE\u DIR%devenv.com”“…解决方案文件Path.sln”/rebuild Release/useev 当前,Wpf.exe文件获取文件版本和产品版本1.0.0,这是Wpf项目的Publish->Publish Version属性

我是通过脚本构建VisualStudio项目的新手,如果您觉得我对该过程的理解不正确,请随时纠正我

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

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

%VS\u IDE\u DIR%devenv.com”“…解决方案文件Path.sln”/rebuild Release/useev

当前,
Wpf.exe
文件获取
文件版本
产品版本
1.0.0
,这是Wpf项目的
Publish->Publish Version
属性中指定的默认值。

我想通过脚本以某种方式设置
文件版本
产品版本
。我怎样才能做到这一点


我有一个
环境变量
,它包含
产品版本
文件版本
,基本上我想将产品版本和文件版本的值设置为等于我的环境变量。

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

更新:

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

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

$(应用程序版本)
假的

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

[assembly: AssemblyInformationalVersion("1.2.3.4")]

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

当我运行
%VS_IDE_DIR%devenv.com”“…SolutionPath.sln”/rebuild Release/useev/p:ApplicationVersion=1.0.0.1
时,它会给我错误
无效的命令行。未知开关:p:ApplicationVersion=1.0.0.1。
尝试
%VS\u IDE\u DIR%devenv.com”“…SolutionPath.sln”/rebuild Release/useev/ApplicationVersion 1.0.0.1
。必须是语法错误。我已经测试了相同的参数。如果您指定了参数值,请运行
p:/ApplicationVersion=1.0.0.1
。如果没有,只需添加
/applicationversion1.0.0.1
,并尝试两者。无论您使用的是什么dll,因为当我添加
\p:ApplicationVersion=1.0.0.1
时,编译的主项目文件是您的wpf应用程序,我得到的
命令行无效。未知开关:p:ApplicationVersion=1.0.0.1
。只是提醒一下,my.sln由几个dll+一个wpf.exe项目组成。当我添加
/Application=1.0.0.1
时,我只在wpf项目中添加了
Xml
部分,我得到的
命令行无效。未知开关:ApplicationVersion=1.0.0.1
知道如何通过命令行修改
AssemblyInfo.cs
而不通过
MS Build
devenv.com
我当前使用的与MSBuild不同,对吗?编写一个可以从命令行调用的小程序。记事本也很好用。