ソリューションエクスプローラに追加したフォルダ中の実行ファイルのパス指定
-
2007年7月12日 7:10
VS.2005 C#
Windowsアプリですが、ソリューションエクスプローラにフォルダ(Exe)を追加して
その中に、実行ファイルをコピーしてセットしました。
そのコピーした実行ファイルを以下のように、コーディング中に指定したいのですが、
”パスが見つかりません”とエラーが表示されます。
パスがやはりおかしいでしょうか?。
それとも、このようなやり方は出来ないのでしょうか。
調べはしたのですが・・・
Process p = new Process();
p.StartInfo.FileName = "/Exe/実行.exe";
すべての返信
-
2007年7月12日 8:43その実行ファイルの「出力ディレクトリにコピー」が"コピーしない"になっているのではないでしょうか。
"常にコピーする" か "新しい場合はコピーする" に設定すれば、出力ディレクトリ(bin フォルダ)内に実行ファイルがコピーされると思います。
まずは、出力ディレクトリ(bin フォルダ)内に実行ファイルが存在するかどうかを確かめてみてください。 -
2007年7月22日 6:27
有難うございます。
"/"の前に、"." が必要なのですね。
試した思っていましたが、再度、試すとこれで、いけました。
失礼致しました。
Process p = new Process();
p.StartInfo.FileName = "./Exe/実行.exe"; -
2007年7月22日 8:57
fjdsskl2 さんからの引用 "/"の前に、"." が必要なのですね。
あまり関係ないような気もするんですけど...
一つ注意する点として C# の場合 / はエスケープ文字として扱われます。
そのためパスを表す文字列は
"Exe//実行.exe" のように / を二つ続けて設定するのが正しいです。
それがわずらわしい場合は @ を使用します。すると
@"Exe/実行.exe" のようにエスケープ文字を気にすることなく設定することができます。
エスケープ文字や @ 記号の使用についてはこちらを参照してみてください。
文字列の使用 (C# プログラミング ガイド)

