• 締切済み

Visual StudioのF5一発で、変更があるプロジェクトのみビルドしなおしで、実行までの自動化方法についての質問

質問内容についてまず、結論を書きます。2つあります。 いづれか一方だけの回答でもわかるのであれば、お願いします。 Q1 同一ソリューションファイルに、複数のexeとdllが存在する時に、 「ソリューションのビルド」(リビルドではないです)を実行または、F5キーを押して、実行の行為を おこなった時に、ソースに変更があったプロジェクトのみビルドしなおされるようにする方法を教えてください。 Q2 また、dllの参照設定に指定するdllは2つあるうちのどちらを設定すればよいかを教えてください。そして、その理由もできれば、お願いします。 ↑「2つあるうちのどちらを」はおそらく意味不明だと思いますので、以下の説明のなかで言及します。 <<以後補足説明>> A.exe、B.dll、C.dll、D.dll、E.exe から構成されるアプリケーションを開発中です。 ソリューションファイルのパスは、 C:\hoge\A\A.sln です Aプロジェクトのプロジェクトファイルは C:\hoge\A\A.vbproj プロジェクトファイルについては、A~Eまで同様で、 Aフォルダと、プロジェクトファイル名が、各自のアルファベットにかわっただけです。 2箇所にdllが出力されます。 ア) C:\hoge\B\bin イ) C:\hoge\B\obj\Debug A~Eもアルファベットが異なる、exeとdllが異なる以外は同様です。 Q2の「2箇所」はこれのことです。 Q1ですが、Bプロジェクトのあるソースを修正してF5で実行しても、 B内での変更内容が実行に反映されなかった。 参照設定が原因か?と、(ア)→(イ)に変更しても、結果は同じ。 ソリューションのリビルドまたは、 Bプロジェクト単独でビルドした後にF5キーを押すと、反映されますが・・ そこで、Q1の質問ですが、F5キー一発で、ソリューションのなかで、変更があったソースのプロジェクトのみビルドして、 実行するまでを一発で、やる設定方法はないでしょうか?

みんなの回答

  • process9
  • ベストアンサー率29% (81/272)
回答No.1

VisualStudioのバージョンはなんでしょうか?

関連するQ&A

  • Visual Studio.NET2003でビルドの中止

    ソリューションファイルに 大量のプロジェクトがある場合 一度ビルドしてしまうと途中で する方法を探しています。 ビルド中にスタートアッププロジェクトの設定や Debug/Releaseを変更すると中止するかどうか 聞いてくるウインドウが出るのですが 何かキーを押せば中止出来るなどの機能は ないのでしょうか?

  • VC++でプロジェクト名などを変更する方法

    現在VC++で1つのプロジェクト"A"をかなりやりすすめています。 いま、まったく同じようなプロジェクトなんですか、ちょっと細かいところを変更した別のプロジェクト"B"を作りたいと考えています。 内容はかなり似たものなので、"A"をコピーして"B"としたいのですが、ファイル名や関数名、ソリューションエクスプローラなどを変更して、ソリューションのビルドをすると "B" fatal error LNK1104: コンパイラは、ファイル '.\Debug\"A".res' を開くことができません。 となっていまい、関連付けなどがどうやら"A"ファイルのままになってしまっているみたいなんです。 ちなみにリソースビューのプロジェクト名や.rcファイルの名前も変更する方法がわかりません。 それとも、新規作成で"B"というプロジェクトを作り、中身を移してきたほうが早いのでしょうか? 使い始めの初心者で申し訳ないです。 よろしくお願いいたします。

  • Visual Studioでのビルド

    Visual Stuido Express2012を使用しているのですがビルドについて質問があります。 DBViewerというプロジェクト名でC#のアプリを作成しているのですが ビルドしてできたexeファイルが下記の2通りの場所に存在しています。 exeファイルも両方動作します。 下のパスの方がフォルダの中身がスッキリしていてるのですがこの違いは 何なのでしょうか。また、リリースには下のパスのフォルダを使用するのが 正しいのでしょうか。 C:\Visual Studio 2012\Projects\DBViewer\DBViewer\obj\Debug C:\Visual Studio 2012\Projects\DBViewer\DBViewer\bin\Debug

  • Microsoft Visual Studio 2008 Express Edtion でreleaseビルドにしてもexeができない

    Microsoft Visual Studio 2008 Express Edtionで http://d.hatena.ne.jp/tgk/20070413/1176438666 ここのサイトを参考に メニューの [ビルド]-[構成マネージャ]でreleaseフォルダに出力するように設定して、ソリューションの中に含まれる3つのプロジェクトも全てreleaseフォルダに出力するように設定したのですが、 ”ソリューションのビルド”実行後、releaseフォルダというのは作成されたのですが、この中にreleaseビルドされたexe実行ファイルが出力されてきませんでした。 なぜこのreleaseフォルダの中に何もできないのか原因を教えていただけませんでしょうか?

  • Visual Studio で実行ファイルが作れません

    C言語の勉強のため、VisualStudio2005standard を初めて使い始めましたが、ビルドできたのに実行ファイルができません。 ファイル→新しいプロジェクト→プロジェクトの種類→VCC++→win32→コンソールアプリケーション→プロジェクト名の入力→アプリケーションの設定→完了 このように操作したら、ソースフォルダの下に拡張子 .cpp のC++のひな形ができたので、それにソースを書いて、拡張子を .c に替えて保存し、ビルドしたらエラーはありませんでした。 しかし、オブジェクトファイルまたは実行ファイルは作成されていず、メニューの実行コマンドも無効の表示で、実行できませんでした。 操作の誤り、何らかの設定の必要があればご指摘いただきたいです。 よろしくお願いします。

  • exeではなくdllを出力したい。

    VB2005環境です。 あるソリューション(仮にA)に、プロジェクトが2つ (C、Dとします)入っています。 どちらも新規追加しただけの状態で、空のフォームが あるだけです。 この状態でビルドをすると、Aフォルダの中にB、Cフォルダ、 それぞれB.exeと、C.exeが出力されています。 最終的には、このB、Cのプロジェクトは、別のソリューション(Z) に追加したいと考えています。 ソリューションZにあるプロジェクトにはメニュー用のフォームが あり、ボタンを押すと、C、Dのフォームがそれぞれ立ち上がる ようにしたいのです。 既にソリューションZにはプロジェクトがいくつか追加されていて、 ビルドをかけると、それらは○○.dllの形で出力されます。 C、Dも.DLLの形で出力させたいのですが、方法がわかりません。 やり方を教えていただけないでしょうか?

  • C#のビルド方法について質問です。

    IDEをつかわず、コマンドプロンプト上でC#のソースをビルドする時の方法について質問です。 まず以下のようなコードがあるとします。 まずC:\の直下に以下のソースを作成しました。 =================================================== using System; using System.IO; using System.Windows.Forms; namespace Add.TestClass{ public class LibraryClass{ public LibraryClass(){ MessageBox.Show("クラスライブラリコンストラクタの実行"); } } } =================================================== 上記クラスをdllファイルとしてビルドします。 csc /t:library /out:Add.TestClass library.class  と上記のようにビルドしました。するとAdd.TestClass.dllというファイルが確かにできあがりました。 次にこれを実際に実行するためのファイルをつくりました。 それが以下になります。 同じくC:\直下に以下のようなソースを作成します。 =================================================== using System; using System.IO; using System.Windows.Forms; using Add.TestClass; public class MainClass{ public static void Main(String [] args){ LibraryClass obj = new LibraryClass(); } } =================================================== このファイルをビルドします。 csc /r:Add.TestClass.dll main.cs としてビルドし、その後 mainというファイルを実行しました。 するとキチンとMessageBoxで MessageBox.Show("クラスライブラリコンストラクタの実行");が実行されました。 ここまでは問題ないのですが、この場合 main.exeファイルとAdd.TestClass.dllというファイルが 同じ階層に存在するような状態になっているのですが、これを main.exeファイルのある階層にdllというディレクトリを作成し そのdllの中にAdd.TestClass.dllというファイルをおいた階層状況でmain.exeファイルを実行したいのです。 そのためにまず、 csc /r:”C:\dll\Add.TestClass.dll" main.cs 上記のようなビルドオプションでビルドしてみたのですが、ビルドはとおりましたが -------------------------------------------------------------------------------------------------------------------- ハンドルされていない例外: System.IO.FileNotFoundException: ファイルまたはアセン ブリ 'Add.TestClass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'、ま たはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりませ ん。 場所 MainClass.Main(String[] args) -------------------------------------------------------------------------------------------------------------------- というエラーがでました。 このdllファイルを特定の任意のディレクトリ内において、main.exeを実行してうまく動くようにするためには どのようなビルドオプションをつけたらいいのでしょうか? よろしくご教授お願いいたしま。

  • Microsoft Visual Studio 2008 Express Edtion で”ソリューションのビルド”について

    Microsoft Visual Studio 2008 Express Edtionでメニューから”ソリューションのビルド”を実行した際に、”Debug”フォルダが作成されて、その中にexeファイルが出力されたのですが、このファイルをコピーして他のPCに貼り付けてあげれば、ビルドしたプログラムは動作してくれるのでしょうか。

  • ビルドについて

    VC++であるプロジェクトのビルドプロパティで疑問に思った事があります。 あるプロジェクトを"hoge"として、hogeはfunction.dllを使っています。 hoge.cpp は hoge.h と function.h を インクルードしています。 ビルドされた hoge.exe は function.dll を使って実行します。 function.dll を新しい物に変えると 変更が適用されて正常に実行できます。 しかしよく見るとhogeは、function.lib をリンクしていました。 これだと静的リンクになり、dllを変えても意味が無いと思っていたのですが、 何故正常に dll の置換えだけでうまく動くのでしょうか?

  • cppファイルを直接visual studioで開き、ビルドするには?

    cppファイルを直接visual studioで開き、ビルドするには? 私はvisual studio 2008を使ってプログラミングをしています。 いつもみたいに、プロジェクト作成→cppファイル作成って流れでやると普通に(ビルドやデバッグが)できるのですが、 プロジェクトを作成せず、裸のcppファイルだけをvisual studioで開くと、ビルドとか何もできません。実行して、コンソール画面を出したいのですが…。 出来る方法はあるのでしょうか? また、どうしてこの方法ではできないのかも、教えてくれるとありがたいです。 よろしくお願いします。

専門家に質問してみよう