在assembly信息中动态显示当前年份

如何在AssemblyInfo文件中设置当前年份?

我用了

而不是这个:

 

试过这个:

  

我得到无效的常量错误。

我不想使用注册表项,这样做的最佳方法是什么? (这样当用户右键单击EXE并查找汇编信息时可以看到当前年份)。

谢谢。

我在另一篇文章( https://stackoverflow.com/a/827209/857307 )上看到了一些在这里真有用的内容。

试试这个。

将新文件添加到源存储库中,该解决方案中的所有项目都是通用的。 调用类似AssemblyCopyright.tt的文件

在文件中,为c#添加以下代码

 <#@ template language="C#" #> using System; using System.Reflection; [assembly: AssemblyCopyright("Copyright © CompanyName <#=DateTime.Now.Year#>")] 

或者vb

 <#@ template language="VB" #> <#@ output extension=".vb" #> Imports System Imports System.Reflection ")> 

然后,从每个AssemblyInfo.cs文件中删除AssemblyCopyright属性。

最后,为每个项目添加一个AssemblyCopyright.tt文件的链接。

模板文件将在每个构建时使用正确的年份重新创建一个新的AssemblyCopyright.cs文件。

可能最好的方法是使用NAnt或MSBuild等工具将其集成到您的构建过程中。

这篇文章解释了如何使用MSBuild更改AssemblyInfo:使用版本号更新程序集。

您可以使用NANT / MSBuild任务来修改AssemblyInfo.cs文件,就像我们更改每个构建的每个程序集的版本一样。

有关更多信息,请访问http://msbuildtasks.tigris.org/

通常,对于这种替换,您使用预构建步骤来调用自动生成assemblyInfo.cs文件的脚本。

您可以查看此主题: 如何使用Windows命令行环境查找和替换文件中的文本?