ПРИМЕЧАНИЕ. Этот ответ предназначен для доступа к свойствам AssemblyInfo в приложении .NET CF 3.5. Он не распространяется на «Свойства» исполняемого файла в проводнике Windows (но может использоваться для записи в файл, на консоль или для отображения в приложении)
Я знаю, что это очень старый вопрос, но вот решение, которое я нашел, используя Reflection и Linq, чтобы получить "AssemblyInformationalVersion" (версия продукта в новых проектах Visual Studio).
Сначала я добавил это в AssemblyInfo.cs (замените строку на то, что вы хотите использовать):
[assembly: AssemblyInformationalVersion("1.0.0.0 Alpha")]
Затем вы можете использовать этот метод для извлечения атрибута (я поместил его в статический класс в файле AssemblyInfo.cs). Метод get представляет собой массив всех атрибутов Assembly, затем выбирает первый результат, соответствующий имени атрибута (и приводит его к правильному типу). Затем можно получить доступ к строке InformationalVersion.
//using System.Reflection;
//using System.Linq;
public static string AssemblyInformationalVersion
{
get
{
AssemblyInformationalVersionAttribute informationalVersion = (AssemblyInformationalVersionAttribute)
(AssemblyInformationalVersionAttribute.GetCustomAttributes(Assembly.GetExecutingAssembly())).Where(
at => at.GetType().Name == "AssemblyInformationalVersionAttribute").First();
return informationalVersion.InformationalVersion;
}
}
Чтобы получить нормальный атрибут AssemblyVersion, я использовал:
//using System.Reflection;
public static string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}