C# 创建动态部件版本,包括日期和随机修订号
我正在寻找一种为我的ASP.NET MVC5解决方案创建动态程序集版本的方法,以便它遵循以下格式: YYYY.M.D.XXXXX 例如: 2014.7.25.45261 理想情况下,我希望在C# 创建动态部件版本,包括日期和随机修订号,c#,asp.net,asp.net-mvc,version,assemblyversionattribute,C#,Asp.net,Asp.net Mvc,Version,Assemblyversionattribute,我正在寻找一种为我的ASP.NET MVC5解决方案创建动态程序集版本的方法,以便它遵循以下格式: YYYY.M.D.XXXXX 例如: 2014.7.25.45261 理想情况下,我希望在AssemblyInfo.cs中执行以下操作: DateTime dt = DateTime.Today; [assembly: AssemblyVersion(String.Format("{0}.{1}.{2}.*", dt.Year, dt.Month. dt.Day))] 但我知道这是不可能的 是否
AssemblyInfo.cs
中执行以下操作:
DateTime dt = DateTime.Today;
[assembly: AssemblyVersion(String.Format("{0}.{1}.{2}.*", dt.Year, dt.Month. dt.Day))]
但我知道这是不可能的
是否有其他方法可以实现此目的?版本通常由生成服务器设置,但是您可以使用T4模板生成程序集信息。我这样做是为了不必手动更改日期。添加名为AssemblyInfo.tt的文件,并将以下内容添加到其中:
<#@ template language="C#" #>
using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;
#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif
[assembly: AssemblyCompany("My Company")]
[assembly: AssemblyProduct("My Product")]
[assembly: AssemblyCopyright("Copyright © My Company <#=DateTime.Now.Year#>")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en")]
[assembly: ComVisible(false)]
[assembly: AssemblyFileVersion("1.0.0.0")]
// etc.
运用系统反思;
利用系统资源;
使用System.Runtime.InteropServices;
#如果调试
[程序集:程序集配置(“调试”)]
#否则
[组件:组件配置(“发布”)]
#恩迪夫
[大会:大会公司(“我的公司”)]
[组装:组装产品(“我的产品”)]
[大会:大会版权所有(“版权所有©我的公司”)]
[组装:组装商标(“”)]
[大会:大会文化(“”)
[汇编:NeutralResourcesLanguage(“en”)]
[大会:ComVisible(false)]
[程序集:AssemblyFileVersion(“1.0.0.0”)]
//等等。
添加生成版本号所需的代码。有关更多信息,请参阅:谢谢,这正是我想要的