Я ищу способ создания динамической версии Assembly для моего решения 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))]
Я знаю, что это невозможно.
Есть ли альтернативный способ достижения этого?
Версии обычно устанавливаются сервером сборки, однако вы можете использовать шаблон 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.
Добавьте код, необходимый для создания номера версии. Для получения дополнительной информации см. Http://msdn.microsoft.com/en-us/library/bb126445.aspx