2009-12-18 3 views
0

Wpf-ControLibrary-Project를 개설하여 컨트롤을 추가했습니다. 한 컨트롤에서 나는 assambly, 버전 및 디렉토리 경로에 대한 정보를 얻을 필요가있다. controlLibrary my.application dosnt working

과거에 내가이 일을했을 :

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) 

하지만이 나던 더 이상 작동합니다. 응용 프로그램이 내 네임 스페이스의 파티가 아니라는 오류가 나타납니다. 그래서, 어떻게이 정보를 얻을 수 있습니까?

답변

0

사용하는 프로젝트 템플릿에 My 네임 스페이스를 함께 사용하는 코드 생성기가 없습니다. 다음과 같이 코딩하면 여전히 사용할 수 있습니다.

Dim myapp As New ApplicationServices.ApplicationBase 
Dim name As String = myapp.Info.AssemblyName 
' etc... 
1

당신은이 코드의 모든 정보를 얻을 수 (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();