- ベストアンサー
c#による実行ファイルの作成方法
- c#による実行ファイルの作成方法について、visual c# 2010 expressを使用してプログラムをビルドする際にエラーが発生しました。コマンドプロンプトから実行する際に「'test.exe' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーメッセージが表示されます。test.exeが作成されていないためコマンドライン引数が渡せない可能性がありますが、解決策がわかりません。何かヒントを教えてください。
- visual c# 2010 expressを使用してc#のプログラムをビルドし、コマンドプロンプトから実行しようとしていますが、test.exeが作成されていないために実行できません。試したこととして、フルパスでの入力やcscコマンドを試してみましたがうまくいきませんでした。解決策やヒントがあれば教えてください。
- c#による実行ファイルの作成方法に関して、visual c# 2010 expressを使用してプログラムをビルドする際にエラーが発生します。コマンドプロンプトから実行する際にtest.exeが見つからないというエラーメッセージが表示されます。test.csは保存した状態です。解決策やヒントがありましたらお教えください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
プロジェクトの中の実行ファイルができる、 binフォルダ下のdebugフォルダの名前指定が長すぎて面倒なときは、 エクスプローラでdebugフォルダのとこを右クリック、プロパティで出てくる 「場所」ってとこのc:\から始まるところをドラッグしてコピー、 コマンドプロンプトを起動して 「cd (スペース)」と入力、右クリックして張り付けると速いですよ。 或いはVisualStudio2010で作るプロジェクトなどは Cドライブ直下にWorspaceみたいな名前のフォルダを作って そこでプロジェクトを作るようにしたり、 できた実行ファイルだけをc:\Workspaceにコピーしたりすると 場所が分かりやすくて cdなどのDOSコマンド入力も 実行そのものもラクかもしれません。 <以下はおまけで> あとはプログラムのreturn 0;の一つ前の行に Console.ReadLine(); を入れて、 VisualStudi2010のメニュー[プロジェクト]-[アプリケーション名のプロパティ]で開く画面の中に デバッグというタブが左側に出てくるのでそれをクリック、 コマンドライン という項目に aaa bbb ccc と実行したいアーギュメント(引数)を随時入力してあげて保存、 ビルドした後 緑の横△(実行)ボタンを押すとコマンドプロンプト(コマンドコンソール)画面が残った上に結果も見れて ちょっとハッピーになれるかもしれません。
その他の回答 (4)
- wormhole
- ベストアンサー率28% (1626/5665)
>ただおそらく原因はご指摘のようにディレクトリのない場所で実行しようとしたためだと思います。 文意が変わっちゃってますが・・・ 「ディレクトリのない場所で」ではなくて「ConsoleApplication1.exeのないディレクトリで」なんですけど・・・ ディレクトリの意味わかってらっしゃいますか?(わからなかったら調べてください) >ConsoleApplication1.exeの保存されているディレクトリは見つかったのですが、 >そこへソースコードを保存してもコマンドプロンプトからパスが通りません。 そんなことをしてもパスは通りません。 ソースファイルは実行ファイルを作成するための元となるものですが実行ファイルを実行することには何の関係もないです。 >ディレクトリのある場所からの実行というのはどのようにすれば良いでしょうか? cdで、ConsoleApplication1.exeのあるディレクトリに移動してください。 コンソールアプリケーションをつくるのならcmd.exeの最低限のコマンドは覚えた方がいいと思いますよ。
お礼
ありがとうございました。 何とかパスを通すことができました。
- wormhole
- ベストアンサー率28% (1626/5665)
>コンソールアプリケーションからプロジェクトを新規作成してみたのですが、 >やはりコマンドプロンプトから引数を渡して呼び出すことができません。 具体的にどう実行しようとしたんですか? ConsoleApplication1.exeがないディレクトリで実行しようとしたとかいうオチのような気がするんですけど・・・ >いったん基本設定に戻し、ビルドの出力元を表示すると、 >確かにConsoleApplication1.exeが確認できるのですが、スタートメニューの >エクスプローラからコンピュータの検索をしてもファイルが見つかりません。 「コンピュータの検索」ってコンピュータを検索ものでファイルを探すものじゃなかったような・・・ ビルド時に ------ ビルド開始: プロジェクト: ConsoleApplication1, 構成: Debug x86 ------ ConsoleApplication1 -> C:\Users\~\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe ========== ビルド: 正常終了または最新の状態 1、失敗 0、スキップ 0 ========== のようなログが出力されると思うのですが、そこに出力されているディレクトリは探してみたんでしょうか? なんだか基本的な入門書から始められた方がよさそうな。
補足
>具体的にどう実行しようとしたんですか? プログラムを作った後スタートメニューのアクセサリからコマンドプロンプトを呼び出し プロジェクト名(ConsoleApplication1.exe aaa bbb ccc)と入力しました。 ただおそらく原因はご指摘のようにディレクトリのない場所で実行しようとしたためだと思います。 >ディレクトリは探してみたんでしょうか? ConsoleApplication1.exeの保存されているディレクトリは見つかったのですが、 そこへソースコードを保存してもコマンドプロンプトからパスが通りません。 ディレクトリのある場所からの実行というのはどのようにすれば良いでしょうか?
- Hayashi_Trek
- ベストアンサー率44% (366/818)
作成されたexeの在るフォルダに移動していないんではないでしょうか? コンソール画面で、DIR コマンドでexeが存在するか確認しましたか? 通常、Visual Studio 2010 でコンパイルした場合、exeファイルは ソースの在るフォルダの下のbin\Debug、または bin\Release フォルダに作成されます。
補足
>DIR コマンドでexeが存在するか確認しましたか DIRコマンドでビルド時に表示された出力元のパスを入力してexeを確認したところ、 「指定されたパスが見つかりません。」と表示されました。 指摘していただいたようにexeのあるフォルダに移動していないことが原因だと思います。 作成したexeのフォルダへ移動するにはどのようにすれば良いでしょうか? >ソースの在るフォルダの下のbin\Debug、または bin\Release フォルダに作成されます。 Microsoft Visual C# 2010のprogramsというフォルダにソースコードを保存してあるのですが、 フォルダの下にDebugやReleaseといったフォルダはありませんでした。 ソリューションエクスプローラのすぐ下にある 「すべてのファイルを表示」というアイコンをクリックしたところ、 binというフォルダが表示され、そこにDebugとReleaseがありました。これは関係ありませんか?
- wormhole
- ベストアンサー率28% (1626/5665)
プロジェクトはどのようにして作られてます? 私が使ってるのはVisual Studio 2010なので参考程度にしかならないかもしれませんが C#コンソールアプリケーションのプロジェクトを新規作成した際にできるファイルはProgram.csでビルドして作成される実行ファイルは プロジェクト名.exe なんですけど。 ↓はプロジェクト名 ConsoleApplication1 で作成される実行ファイルは ConsoleApplication1.exe using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } }
補足
普段は新しいプロジェクトから「空のプロジェクト」を開き 「コードファイル」を追加して使用しています。 コンソールアプリケーションからプロジェクトを新規作成してみたのですが、 やはりコマンドプロンプトから引数を渡して呼び出すことができません。 いったん基本設定に戻し、ビルドの出力元を表示すると、 確かにConsoleApplication1.exeが確認できるのですが、スタートメニューの エクスプローラからコンピュータの検索をしてもファイルが見つかりません。
お礼
コマンドプロンプトへのパスの貼り付け方や、 開始オプションを利用した引数の受け渡しなど 丁寧に教えていただきありがとうございました。