【发布时间】:2014-05-22 18:04:18
【问题描述】:
我正在使用 Visual Studio 2013 编译 DLL,但由于技术原因无法使用 System.Version,因为我的目标运行时环境之一不支持它。
有没有办法在编译时自动将程序集“FileVersion”放入常量中?
public const string MyFileVersion = "{{ PLEASE REPLACE ME }}";
我没有使用构建服务器或任何类似的东西,只是使用 Visual Studio 2013。
【问题讨论】:
-
您可以使用#ifdev 并设置编译变量。
-
@Dmitry 可以从汇编文件版本自动更新吗?我不想让我忘记更新多个版本的维护地狱......
-
这是一个明显的先有鸡还是先有蛋的问题。您需要一个知道下一个版本号的预言机。您必须提供一个,编写您自己的程序来修改一个包含该属性的小 .cs 文件,并根据您喜欢的任何规则对其进行修改。在预构建事件中运行它。请记住,[AssemblyFileVersion] 毫无用处,CLR 完全忽略了它。它只是注释性的,当您查看文件属性时,您会在详细信息选项卡中看到它。就是这样。
标签: c# visual-studio build visual-studio-2013