Подтвердить что ты не робот

Получить путь к исполняемому каталогу приложения Windows Forms

Я хотел бы получить путь к каталогу выполнения приложения Windows Forms. (То есть каталог, в котором находится исполняемый файл.)

Кто-нибудь знает о встроенном методе .NET для этого?

4b9b3361

Ответ 1

Application.Current приводит к созданию приложения http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx

Также это должно дать вам расположение сборки

AppDomain.CurrentDomain.BaseDirectory

Кажется, я помню, что существует несколько способов получения местоположения приложения. но это работало для меня в прошлом по крайней мере (прошло некоторое время с тех пор, как я закончил программирование winforms:/)

Ответ 2

В VB.NET

Dim directory as String = My.Application.Info.DirectoryPath

В С#

string directory = AppDomain.CurrentDomain.BaseDirectory;

Ответ 3

Это может помочь;

Path.GetDirectoryName(Application.ExecutablePath);

также здесь ссылка

Ответ 4

System.Windows.Forms.Application.StartupPath решит вашу проблему, я думаю,

Ответ 5

Оба примера приведены в VB.NET.

Отладка:

TextBox1.Text = My.Application.Info.DirectoryPath

EXE путь:

TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)

Ответ 6

проверьте это

'as in import statement you have to mention the Imports System.IO & import System.Management
Imports System.IO
Imports System.Management
Public Class Form1


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = Path.GetFullPath(Application.ExecutablePath)
        Process.Start(TextBox1.Text)

    End Sub
End Class

Ответ 7

string apppath = 
    (new System.IO.FileInfo
    (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;

Ответ 8

Частный Sub Main_Shown (отправитель как объект, e As EventArgs) Обрабатывает Me.Shown

    Dim args() As String = Environment.GetCommandLineArgs()
    If args.Length > 0 Then
        TextBox1.Text = Path.GetFullPath(Application.ExecutablePath)
        Process.Start(TextBox1.Text)   
    End If
End Sub