.NET2003、C++、Win32、非MFC環境です。
今まで1つのソリューションに1つのプロジェクトで開発してきました。今回これに関連した別のexeを開発したいため、既存ソリューションに追加して新しいプロジェクトを作成しました。基本的には動いているのですが、運用方法についていくつか質問させてください。
・新規プロジェクトを作るときに、既存プロジェクトをコピーして使いまわすことは出来るのでしょうか?(ダイアログには特にそういうオプションが無かったので)
・「プロジェクトのみビルド」をショートカットキーに登録したのですが、これがソリューションエクスプローラーでプロジェクトを選択しているときにしか利きません(ソースファイルとかを選択すると無効になります)。タブとかでソースを切り替えるたびにソースが選択されショートカットキーが無効になるので非常に不便しています。これの解決方法はあるのでしょうか?
一つのスレッドには質問は一つにしてください。
スレッドが伸びた時にどちらの議論をしているのかわからなくなる事がありますし、
議論が交錯すると混乱を招きます。
どの単位でコピーしたいのかが良くわかりませんが、
プロジェクト一式を丸ごとコピーしてソリューションに追加する事は
可能だと思います。ただし、前のプロジェクトとファイルを共有しているような
状況にした場合、片方が行った変更がもう片方にも影響してしまいます。
共有させるような場合はその共有が妥当かどうかの判断が必要でしょう。
ショートカットキーに関してはそういうものだと思います。
ビルド対象を指定するためには必要でしょうから。
私はプロジェクトを選択した状態でコンテキストメニューから行う事が多いです。
”テキストエディタのソースを切り替えるたびに、ソリューションエクスプローラの選択も切り替わる”というのは、
「オプション」→「環境」→「プロジェクトおよびソリューション」の
「ソリューションエクスプローラでアクティブなアイテムを記録」をOFFにすれば無効に出来ます。
また、同じページの「実行時に、スタートアッププロジェクトおよび依存関係のみをビルドする」
をOFFにすると幸せになれるかも。
これがONだと、ソリューション内に複数プロジェクトがあると
ビルドするときに関係ないプロジェクトも全てビルドされてウザイです。
>一つのスレッドには質問は一つにしてください。
すみません、以後気をつけますm(__)m
>プロジェクト一式を丸ごとコピーしてソリューションに追加する
なるほど、可能なのですね。ちょっと細かい疑問点もあるのですが、すぐに必要ではないので(すでに新規作成&手作業でコピーしてしまったので)、必要になったら再度スレッドを立てて質問させていただきます。
>アクティブなアイテムを記録」をOFFにすれば無効に出来ます。
有難うございます。これは上手くいきました。
が、なぜかやはりショートカットキーが無効になってしまいます。キーが利くかどうかはビルドメニューに「プロジェクトのみ」という行が出るかどうかに連動しているようなのですが、エクスプローラでプロジェクトに選択が残っていても、ソースを切り替えるとその行も出ないようです。どうもエクスプローラの選択表示とは別に、内部的な選択カーソルで判断しているようですね。
>「スタートアッププロジェクトおよび依存関係のみをビルドする」
こちらも駄目でしたorz
ON/OFFどちらにしても全プロジェクトがビルドされます。ひょっとしてプロジェクトの構成とかが影響するのでしょうか?ちなみに全プロジェクトに依存関係はありません。
あとこのオプションを文字どうりに解釈すると、ONにして依存関係が無ければスタートアッププロジェクトのみがビルドされる気がするのですが、そういう風にもならないようです。うーむ…
ひょっとして.NET2003は駄目で、.NET2005なら上手くいくとかでしょうか?
すみません、最後の項目は勘違いしてました。
>「実行時に、スタートアッププロジェクトおよび依存関係のみをビルド」
という表記どおり「実行時」限定のオプションなのですね。実行時は確かにスタートアッププロジェクトだけがビルドされます。ただビルド時は全プロジェクトビルドになってしまうようです。
毎回実行するというのも別の意味で不便ですので、惜しいのですがちょっとこれで代用するのは厳しそうです、残念。(特に今のプロジェクトが起動に20秒から30秒ほど掛かるというのもありますし)
あれから2週間程度運用してまして、とりあえず
「構成マネージャでビルドしたいプロジェクトのみにチェックした後、ソリューションのビルド(全ビルド)を割り当てたショートカットキーを押すのが一番希望に近い」
ということで落ち着きました。欲を言えばスタートアッププロジェクトとそれに依存したものだけビルドしてくれる「常に有効な」ショートカットキーが欲しいのですが、どうしようも無いみたいですね…
ごく普通の要望だと思うのですが、それが出来ないのは、やはりVisualStudioの開発者が外部のテキストエディタで開発しているからなのかな?
MS内部でもVSSじゃなくCVSを使っている部署もある…と聞いたことがありますし。
ツイート | ![]() |