创建动态汇编版本,包括日期和随机版本号

Cur*_*urt 1 c# asp.net asp.net-mvc version assemblyversionattribute

我正在寻找一种为我的ASP.NET MVC5解决方案创建动态汇编版本的方法,以便它遵循以下格式:

YYYY.MDXXXXX

例如:

2014.7.25.45261

理想情况下,我想在以下方面做到以下几点AssemblyInfo.cs:

DateTime dt = DateTime.Today;
[assembly: AssemblyVersion(String.Format("{0}.{1}.{2}.*", dt.Year, dt.Month. dt.Day))]
Run Code Online (Sandbox Code Playgroud)

我知道这不可能.

有没有其他方法来实现这一目标?

Ana*_*nke 5

版本通常由构建服务器设置,但您可以使用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.
Run Code Online (Sandbox Code Playgroud)

添加生成版本号所需的代码.有关详细信息,请参阅:http://msdn.microsoft.com/en-us/library/bb126445.aspx