Получить программный путь в VB.NET?

Как я могу получить абсолютный путь к программе, которую я запускаю?

Ответы

Ответ 1

Для этого вы можете использовать объект Application.

Путь запуска, только папка, используйте Application.StartupPath()

Dim appPath As String = Application.StartupPath()

Полный путь .exe, включая имя program.exe в конце:, используйте Application.ExecutablePath()

Dim exePath As String = Application.ExecutablePath()

Ответ 2

Попробуйте следующее: My.Application.Info.DirectoryPath [MSDN]

Это использует функцию My для VB.NET. Это конкретное свойство доступно для всех типов не-веб-проектов, так как .NET Framework 2.0, включая приложения консоли, как вам нужно.

До тех пор, пока вы доверяете Microsoft продолжать эту работу корректно для всех вышеперечисленных типов проектов, это проще использовать, чем доступ к другим "более прямым" решениям.

Dim appPath As String = My.Application.Info.DirectoryPath

Ответ 3

Для консольного приложения вы можете использовать System.Reflection.Assembly.GetExecutingAssembly().Location, если вызов выполняется в коде самого консольного приложения, если вы вызываете это из другой DLL или плагина, это вернет расположение этой DLL, а не исполняемый файл.

Ответ 4

Вы также можете использовать:

Dim strPath As String = AppDomain.CurrentDomain.BaseDirectory

Ответ 5

Вы можете получить путь по этому коду

Dim CurDir as string = My.Application.Info.DirectoryPath

Ответ 6

Задайте свой собственный путь приложения

Dim myPathsValues ​​As String

    TextBox1.Text = Application.StartupPath
    TextBox2.Text = Len(Application.StartupPath)
    TextBox3.Text = Microsoft.VisualBasic.Right(Application.StartupPath, 10)
    myPathsValues = Val(TextBox2.Text) - 9
    TextBox4.Text = Microsoft.VisualBasic.Left(Application.StartupPath, myPathsValues) & "Reports"

Ответ 7

все вышеприведенные ответы верны, но они не работают со всеми типами приложений, такими как "Приложение библиотеки элементов управления Windows", но последний ответ является лучшим ответом, поскольку он работает со всеми типами приложений.

Импортирует System.IO

Dim strPath as String = Directory.GetCurrentDirectory

Ответ 8

Я использую:

Imports System.IO
Dim strPath as String=Directory.GetCurrentDirectory