Я хотел бы получить путь к каталогу выполнения приложения Windows Forms. (То есть каталог, в котором находится исполняемый файл.)
Кто-нибудь знает встроенный метод в .NET для этого?
В VB.NET
Dim directory as String = My.Application.Info.DirectoryPath
In C #
string directory = AppDomain.CurrentDomain.BaseDirectory;
Приложение. Текущие результаты в домене приложения http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx
Также это должно дать вам местоположение сборки
AppDomain.CurrentDomain.BaseDirectory
Кажется, я помню, что было несколько способов узнать местоположение приложения. но этот работал для меня по крайней мере в прошлом (прошло много времени с тех пор, как я занимался программированием winforms: /)
Это может помочь;
Path.GetDirectoryName(Application.ExecutablePath);
также здесь ссылка
System.Windows.Forms.Application.StartupPath решит вашу проблему, я думаю
System.Windows.Forms.Application.StartupPath
Оба примера находятся в VB.NET.
Путь отладки:
TextBox1.Text = My.Application.Info.DirectoryPath
Путь к EXE:
TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
Проверьте это:
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
string apppath = (new System.IO.FileInfo (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
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