Получить путь к каталогу выполнения приложения Windows Forms - PullRequest
40 голосов
/ 17 ноября 2008

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

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

Ответы [ 8 ]

59 голосов
/ 17 ноября 2008

В VB.NET

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

In C #

string directory = AppDomain.CurrentDomain.BaseDirectory;
34 голосов
/ 17 ноября 2008

Приложение. Текущие результаты в домене приложения http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx

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

AppDomain.CurrentDomain.BaseDirectory

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

14 голосов
/ 17 ноября 2008

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

Path.GetDirectoryName(Application.ExecutablePath);

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

9 голосов
/ 01 декабря 2008

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

2 голосов
/ 07 октября 2014

Оба примера находятся в VB.NET.

Путь отладки:

TextBox1.Text = My.Application.Info.DirectoryPath

Путь к EXE:

TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
1 голос
/ 29 ноября 2011

Проверьте это:

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
1 голос
/ 17 ноября 2008
string apppath = 
    (new System.IO.FileInfo
    (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
0 голосов
/ 09 августа 2017
Private Sub Main_Shown(sender As Object, e As EventArgs) Handles 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...