53

Windows フォーム アプリケーションの実行ディレクトリへのパスを取得したいと考えています。(つまり、実行可能ファイルがあるディレクトリです。)

これを行うための.NETの組み込みメソッドを知っている人はいますか?

4

8 に答える 8

65

VB.NET で

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

C# の場合

string directory = AppDomain.CurrentDomain.BaseDirectory;
于 2008-11-17T14:36:11.147 に答える
56

Application.Current は appdomain になります http://msdn.microsoft.com/en-us/library/system.appdomain_members.aspx

また、これにより、アセンブリの場所がわかります

AppDomain.CurrentDomain.BaseDirectory

アプリケーションの場所を取得する方法が複数あったことを思い出したようです。しかし、これは少なくとも過去に私のために働いていました(winformsプログラミングを行ってからしばらく経ちました:/)

于 2008-11-17T14:41:08.780 に答える
17

これは役に立ちます。

Path.GetDirectoryName(Application.ExecutablePath);

こちらも参考になります

于 2008-11-17T14:36:59.647 に答える
9

System.Windows.Forms.Application.StartupPathあなたの問題を解決すると思います

于 2008-12-01T09:48:38.960 に答える
2

どちらの例も VB.NET にあります。

デバッグ パス:

TextBox1.Text = My.Application.Info.DirectoryPath

EXE パス:

TextBox2.Text = IO.Path.GetFullPath(Application.ExecutablePath)
于 2014-10-07T05:14:28.753 に答える
1

これをチェックしてください:

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
于 2011-11-29T07:20:37.047 に答える
1
string apppath = 
    (new System.IO.FileInfo
    (System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).DirectoryName;
于 2008-11-17T14:50:07.217 に答える