コンソールアプリケーションの場合は、Applicationオブジェクト(System.Windows.Forms.Application)が利用できません。
コンソールアプリケーションの場合は、別の方法で実行ファイルのディレクトリを取得するか、System.Windows.Formsを参照に追加する必要があります。
詳細はこちらの記事を参照してください。
Application.ExecutablePath
プロパティの値から取得します。Application.ExecutablePath
プロパティで取得できます。
ディレクトリ名は、Path.GetDirectoryName()
メソッドで取得できるため、この2つを組み合わせて実装します。using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace GetPath
{
public partial class FormGetApplicationDirectory : Form
{
public FormGetApplicationDirectory()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string ExePath = Application.ExecutablePath;
textBox1.Text = ExePath;
string ExeDirPath = Path.GetDirectoryName(Application.ExecutablePath);
textBox2.Text = ExeDirPath;
string ExeDirName = Path.GetFileName(Path.GetDirectoryName(Application.ExecutablePath));
textBox3.Text = ExeDirName;
}
}
}
string ExeDirPath = Path.GetDirectoryName(Application.ExecutablePath);
textBox2.Text = ExeDirPath;
Path.GetFileName()
メソッドを呼び出し、引数にディレクトリのパスを与えます。 string ExeDirName = Path.GetFileName(Path.GetDirectoryName(Application.ExecutablePath));
textBox3.Text = ExeDirName;