Одним из решений было бы внедрить эту информацию в атрибут сборки во время вашей сборки. Это можно сделать с помощью задач сообщества MSBuild Time и AssemblyInfo:
<Time>
<Output TaskParameter="Month" PropertyName="Month" />
<Output TaskParameter="Day" PropertyName="Day" />
<Output TaskParameter="Year" PropertyName="Year" />
<Output TaskParameter="Hour" PropertyName="Hour" />
<Output TaskParameter="Minute" PropertyName="Minute" />
<Output TaskParameter="Second" PropertyName="Second" />
</Time>
и
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(MSBuildProjectDirectory)\GlobalInfo.cs"
AssemblyDescription="This page was last updated: $(Month)/$(Day)/$(Year)"
/>
Затем вы включите исходный файл в ваш проект (в этом примере GlobalInfo.cs) Для доступа к этому значению в коде вы должны использовать что-то вроде этого:
public static string GetAssemblyDescription(Type t)
{
string result = String.Empty;
var items = t.Assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (items != null && items.Length > 0)
{
AssemblyDescriptionAttribute attrib = (AssemblyDescriptionAttribute)items[0];
result = attrib.Description;
}
return result;
}
Type t = typeof(MyClass);
string description = GetAssemblyDescription(t);
Console.WriteLine(description);