controlLibrary my.application не работает - PullRequest
0 голосов
/ 18 декабря 2009

Я создал Wpf-ControLibrary-Project, чтобы поместить туда некоторые элементы управления. В одном элементе управления мне нужно получить некоторую информацию о сборке, версии и пути к каталогу.

в прошлом я сделал это:

Dim msg As String
msg = "AssemblyName: " & My.Application.Info.AssemblyName & Environment.NewLine
msg &= "Version: " & My.Application.Info.Version.ToString & Environment.NewLine
msg &= "DirectoryPath: " & My.Application.Info.DirectoryPath
MsgBox(msg)

но это больше не работает. Я получаю сообщение об ошибке, в котором говорится, что приложение не является участником моего пространства имен. Итак, как я могу получить эту информацию?

Ответы [ 2 ]

1 голос
/ 18 декабря 2009

Вы должны быть в состоянии получить всю информацию с помощью этого кода (код C #, но его тривиально преобразовать в VB)

System.Reflection.Assembly executingAssembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Reflection.AssemblyName assemblyName = executingAssembly.GetName();
string name = assemblyName.Name;
System.Version version = assemblyName.Version;
string path = executingAssembly.Location;

Это даст вам информацию о сборке, которая в данный момент выполняется (ваша библиотека управления dll). Если вам нужна информация о сборке приложения, вы можете использовать:

System.Reflection.Assembly entryAssembly = System.Reflection.Assembly.GetEntryAssembly();
0 голосов
/ 18 декабря 2009

В используемом шаблоне проекта отсутствует генератор кода, который объединяет пространство имен My. Вы все еще можете использовать его, если кодируете его так:

Dim myapp As New ApplicationServices.ApplicationBase
Dim name As String = myapp.Info.AssemblyName
' etc...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...