1

Visual Studio C# 2010 Express を使用しており、コンソール アプリケーションを作成しました。

これを特定のディレクトリで実行したいので、プロジェクトのプロパティに移動し、[デバッグ] タブで作業ディレクトリを変更します。

しかし、アプリケーションをデバッグすると、そこで実行されることはありませんが、常にプロジェクト ディレクトリ/bin/Debug で実行されます。

Build-Tabの下の出力ディレクトリも変更しようとしましたが、それも守られていません。(バイナリはそこにはコピーされませんが、常に /projectdirectory/bin/Debug にコピーされます)

編集:次のことはすべきではありません:同じソリューションで、実際に作業ディレクトリと出力パスの設定を尊重する他のプロジェクト (クラス ライブラリと Windows フォーム アプリケーション) があります。コンソールアプリケーションのようです。

4

1 に答える 1

3

作業ディレクトリは、GetCurrentDirectoryが返すものです。cdコマンドプロンプトと同様です。

作業ディレクトリは、相対的なファイルパスにも影響します。つまり、「myFile.txt」(ファイルパスなし)を開くと、デバッグダイアログで指定されている場合はベースパスとして「作業ディレクトリ」内のファイルが検索され、そうでない場合は「出力パス」が検索されます。コマンドプロンプトで作業ディレクトリを常に変更します:cd c:\temp & findstr test *.txt" will runfindstr`と作業ディレクトリ "c:\ temp"を使用しますが、findstrの場所は変更しません。

バイナリは出力パスに配置され、現在の作業ディレクトリとは関係ありません。

于 2012-10-17T16:17:03.600 に答える