2011-06-24 6 views
0

は、私は、Visual StudioのVBに数ヶ月前に開発されたアプリケーションを更新しようとしています2005年実行ファイルがVisual BasicのVS2005のobj Debugフォルダまたはobj Releaseフォルダにあるのはなぜですか?

ビルド出力パス:」プロジェクトのためには、私が収集しているフォルダを指しています私の活動に関連する実行ファイルはほとんどありません。BinDir/。それは、プロジェクトのフォルダProjName/のすぐ隣にあります。過去に反し

、私は今、自分のプロジェクトをビルドし、.exeのではなくBINDIR /デバッグフォルダに向けられているの、PROJNAME/OBJ /デバッグフォルダに作成されます。

IDEの出力タブ(ビルド時)では、生成された実行可能ファイルのパスは正しく表示されますが、実際は別の場所にあります。

なぜそうですか?

更新:今日は非常に独特の何かが私のコンピュータ上で起きています...数時間後にもう一度試しましたが、実行可能ファイルが両方の場所で作成されたようです。 obj /バージョンは今や冗長です。

+0

投稿しないでください - あなたが間違ったサイト(フォーラムではない)を取得した場合、質問はあなたのために移行されます。 – ChrisF

+0

@ChrisF - 2つのサイトを検索すると、このトピックは両方に表示されるようです。最初は、私はSUが質問にふさわしいと考えました。投稿後、私はSOを検索し、それがここでも有効なトピックであることがわかりました。他のサイトは反応が少ないので、ここで私の運を試しました。権限があれば自分で移行します。 – ysap

+0

これは両方に出現するトピックですが、スタックオーバーフローのトピックについてはプログラミングツールに関するトピックです。あなたはいつでも司会者の注意を喚起するために投稿にフラグを立てることができ、あなたがそれをマイグレーションします(コミュニティが最初にそこに来ない場合)。 – ChrisF

答えて

0

Visual Studio 2005でVisual Basicビルドを実行すると、通常は何が起こるのですか?ビルドでは中間ディレクトリ(obj \ debug)に実行可能ファイルが作成され、そこから実行可能ファイルが最終ビルド出力にコピーされますディレクトリ(bindir \ debug)

通常の最小ロギングを有効にすると、ビルド出力を調べると、スイッチ/out:obj\Debug\yourproject.exeが表示され、obj \ debugディレクトリに実行可能ファイルを作成するようにコンパイラに指示するはずです。その後、ファイルがビルド出力に移動されるのを確認する必要がありますyourproject -> C:\TestPrograms\Vb.net\yourproject\bin\Debug\yourproject.exe

ツール|オプション|プロジェクトとソリューション|ビルドと実行 "MSBuild project build output verbosity"プロパティを "Detailed"に設定すると、obj \ debugディレクトリに対してさらに多くのアクティビティが表示され、その中間ディレクトリからビルド出力ディレクトリにコピーされるさまざまなプロジェクト出力ファイルが表示されます。

$(Targetdir)$(IntermediateOutputPath)は、このようなビルドイベントを使用して見ることができるように、これらの2つのディレクトリにアクセスするために使用することができるマクロ...元の質問で

echo target: $(Targetdir) 
echo intermediate: $(IntermediateOutputPath) 

、それは中間からのコピーのように聞こえますビルド出力が失敗したか、または中間ディレクトリにexeのコピーを1つだけ残すことを試みませんでした。

戻ってすぐに見るのは遅すぎますが、通常、ビルドの出力ウィンドウには、コピーが失敗した理由の詳細が表示されます。

+0

答えてくれてありがとう、フランク。 「* Visual Studio 2005 *でVisual Basicビルドで通常起こることだ」と言うと、exeがターゲットフォルダに配置されないのが普通です。私が質問で述べたように、出力タブは必要な場所を表示しましたが、ファイルは実際にはありませんでした(しかしvshostファイルはありました)。 – ysap

+0

ご迷惑をお掛けしますがご迷惑をおかけして申し訳ありません。あなたが見なければならないのは、exeがまず中間フォルダ(ProjName/obj/Debug)で作成され、ビルド出力パス(BinDir/Debug)にコピーされることです。あなたの質問の前半で何らかの理由でコピーが失敗した(または試みられなかった)ように聞こえます。ビルドアウトプットウインドウにはもっと多くの情報が表示されるかもしれませんが、おそらくそれはもう使えません。 –

+0

$(IntermediateOutputPath)に感謝します。別の問題があるので、$(IntermediateOutputPath)を使って解決しました。 –

関連する問題