1

私のプロジェクトの\debugディレクトリには、たとえばプログラムexeファイルがあります:

test.exe

今度は、c:\ からこの test.exe を実行します。2 回目は、test.exe を d:\ にコピーして、そこから実行します。

私のコードには、次の行があります。

string programFilesX86 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) + "\\Diagnostic Tool\\7z.dll";

プログラムファイルx86の代わりに、exeファイルを実行している場所から各ディレクトリを取得するにはどうすればよいですか?

4

2 に答える 2

1

1つの方法(.Net CEでも確実な方法)は

string path = Path.GetDirectoryName(
  Assembly.GetEntryAssembly().GetModules()[0].FullyQualifiedName);

また

string path = Path.GetDirectoryName(
  Assembly.GetEntryAssembly().Location);

これにより、ショートカットが実行パスとは技術的に異なるアプリケーションの CurrentDirectory または StartupPath を設定できなくなります (たとえば、ClickOne プログラム)。

于 2013-08-05T00:46:00.190 に答える