2009-12-18 51 views
0

我已經建立了一個Wpf-ControLibrary項目,把一些控件。在一個控件中,我需要獲取有關assambly,版本和目錄路徑的一些信息。controlLibrary我的應用程序dosnt工作

在過去,我已經這樣做了一個:

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

您使用的項目模板缺少代碼生成器,把我的命名空間在一起。如果你這樣編碼,你仍然可以使用它:

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();