Альтернатива Silverlight 3 FileVersionInfo. GetVersionInfo

В рамках приложения Silverlight 3.0 я хочу использовать AssemblyFileVersion для отображения информации о версии приложения. Это не то же как AssemblyVersion и обычно получается в приложении.NET с помощью кода, такого как:

var executingAssembly = Assembly.GetExecutingAssembly();
var fileVersionInfo = FileVersionInfo.GetVersionInfo(executingAssembly.Location);
var versionLabel = fileVersionInfo.FileVersion;

К сожалению, время выполнения Silverlight 3.0 не включает класс FileVersionInfo. Существует ли альтернативный способ получить доступ к этой информации?

5
задан Martin Hollingsworth 25 January 2010 в 06:59
поделиться

2 ответа

Я нашел решение этого в Twitter Post со Craig Young (вежливость кэширования страницы Google) с использованием Assembly. GetCustomattributes следующим образом

var executingAssembly = Assembly.GetExecutingAssembly();
var customAttributes = executingAssembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false);
if (customAttributes != null)
{
   var assemblyFileVersionAttribute = customAttributes[0] as AssemblyFileVersionAttribute;
   var fileVersionLabel = assemblyFileVersionAttribute.Version;
}

Размещение этого решения для дальнейшего использования.

3
ответ дан 14 December 2019 в 04:38
поделиться
-

Вот способ сделать это с атрибутами - я не уверен, будет ли он работать в Silverlight, поэтому вам придется дать мне знать.

Assembly assembly = Assembly.GetExecutingAssembly();
object[] attributes = assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false);
if (attributes != null && attributes.Length > 0)
{
    AssemblyFileVersionAttribute fileVersionAttribute = (AssemblyFileVersionAttribute)attributes[0];
    string version = fileVersionAttribute.Version;
}
5
ответ дан 14 December 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: