在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命令行环境查找和替换文件中的文本?