2012-02-06 107 views

回答

11

根據MSDN(App Object Changes in Visual Basic .NET),更換爲兩個是

System.Reflection.Assembly.GetExecutingAssembly().Location 

它包含完整路徑(App.Path)以及文件名(App.EXEName)。

' Import System.Reflection and System.IO at the top of your class file 
Dim location = Assembly.GetExecutingAssembly().Location 
Dim appPath = Path.GetDirectoryName(location)  ' C:\Some\Directory 
Dim appName = Path.GetFileName(location)   ' MyLibrary.DLL 

UPDATE(感謝評論者):可以使用從Path類的輔助方法拆分信息,如果你是在一個DLL執行此代碼,你想要的名稱那個叫EXE的DLL,你需要用GetEntryAssembly而不是GetExecutingAssembly。請注意,如果您的DLL是從非託管EXE調用的,則GetEntryAssembly可能會返回Nothing

+0

你沒有得到那個權利,他想要的是EXE路徑,而不是DLL路徑。使用Assembly.GetEntryAssembly()代替。 – 2012-02-06 16:53:25

+0

我在使用DLL我認爲我需要Assembly.GetEntryAssembly() – 2012-02-06 16:59:39

+0

@HansPassant:謝謝,修正! – Heinzi 2012-02-06 17:21:44

相關問題