- - PR -
WindowsアプリとWebアプリとで共通なプロジェクトを参照する場合のソリューションの構成は?
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-13 21:35
こんにちは。
WindowsアプリケーションとWebアプリケーションとで共通となる部分を 独立したプロジェクトにし、それをプロジェクト参照しようと思っています。 仮に、以下の3つのプロジェクトがあるとします。 ・Winプロジェクト(Windowsアプリケーション) ・Webプロジェクト(ASP.NET Webアプリケーション) ・共通プロジェクト(クラスライブラリ) WinプロジェクトとWebプロジェクトは共通プロジェクトを参照します。 (WinプロジェクトとWebプロジェクトの間には依存関係がない) これらを1つのソリューションに含め、ソリューション構成を切り替えて、 WindowsアプリケーションとWebアプリケーションを別々にデバッグ実行しよう と思いました。 ところが、ソリューション構成にはスタートアッププロジェクトの設定が含まれて おらず、この方法はできませんでした。 (スタートアッププロジェクトの設定はソリューションの共通プロパティで行う) 長々と説明いたしましたが、お聞きしたいことをまとめると以下のようになります。 1.1つのソリューションに含めて別々にデバッグ実行する方法があるのか? 2.そもそも、このような場合に1つのソリューションにすることが正しいのか? (少なくとも一般的なのか) 3.1つのソリューションに含めることが正しくない(一般的ではない)としたら、 どのような構成にしたら良いのか? 一般論、経験談など何でもかまいませんので、よろしくお願いします。 | ||||||||||||||||
|
投稿日時: 2004-02-13 23:14
こんにちは。
分かる範囲でお答えします。 1つのソリューションに両方を含めた場合、ソリューションエクスプローラーでプロジェクトを右クリックし、ポップアップメニューの[デバッグ]-[新しいインスタンスを開始]で、それぞれのプロジェクトをデバッグできます。 Win/Web両方を同時にってのはできませんが、もしかしてそういう意味ですか? 試したことないですが、ソリューションのプロパティにあるマルチスタートアッププロジェクトを設定すればいいのかも。 ひとつのソリューションにするのが正しいか、正しくないかは分かりませんが、自分のところでは基本的にはWebとWinは別のソリューションに分けてます。そしてそれぞれが共通のプロジェクトを参照しています。しかし、全体ビルド用は両方まとめてしまっています(このソリューションでデバッグはしていませんが) | ||||||||||||||||
|
投稿日時: 2004-02-14 00:04
noderaさん、ご返事ありがとうございます。
申し訳ありません。書くのを忘れていましたが、この方法は知っていました。 このやり方がスマートではないので、何か間違っているのかと思った次第です。
同時ではなくて、別々にという意味です。 分かりにくい説明ですいませんが、WinとWebで別の人が開発すると思ってください。
これを試してみました。 すると、デバッグ実行で見事にWinとWebの両方が起動されました・・・ (もちろん望んでいる形ではありませんが、あまりにも当たり前な結果でおかしかったです)
この場合は3つのソリューションが存在するということでしょうか? 共通プロジェクト用のソリューションを作り、それをWinとWebのソリューションから 参照するということかな。 ん〜、何かソリューションとかプロジェクトの考え方とか、とらえ方が間違ってるような気がしてきた。。。 | ||||||||||||||||
|
投稿日時: 2004-02-14 01:18
僕もWinとWebとロジック部分で3つのプロジェクトを一つのソリューションで開発していますが、テストする時は、テストしたい方の
1・プロジェクトファイルに合わせて右クリック 2・スタートアッププロジェクトに設定 でデバッグしています。 | ||||||||||||||||
|
投稿日時: 2004-02-14 01:39
同じく、Webアプリ複数(ただし、1つのアプリとして構成)とWinアプリ複数を1つのソリューションで開発しています。
開発者がそれぞれ違うなら、それぞれが「スタートアッププロジェクト」を別個に設定すればいいだけでは?そういう話ではない? #スタートアップアプリは個人設定にはいるので、VSSで管理されません | ||||||||||||||||
|
投稿日時: 2004-02-14 03:09
NAL-6295さん、Jittaさん、書き込みありがとうございます。
なるほど、スタートアッププロジェクトは個人設定にはいるのですね! なんで、そこに気づかなかったかなー(頭が固くなってきたのかも。。。) でも、1つのソリューションにすること自体はおかしなことではないようですし、 これでもやもやが晴れました。 みなさん、ありがとうございました。 | ||||||||||||||||
|
投稿日時: 2004-02-14 08:47
わははは!!スタートアッププロジェクトを変更しても、VSSからチェックアウトされないことに、私もごく最近気が付いたのだ | ||||||||||||||||
|
投稿日時: 2004-02-14 11:39
こんにちは。
個人や少人数開発でソリューションに入っているプロジェクトの数がそれほど多く無いのであれば、スタートアッププロジェクトの変更でもいいと思いますが、プロジェクトが多くなるとちょっと困ったことが。 この構成で[デバッグ]-[開始]をやってしまうと、ソリューションに入っているプロジェクトが全てビルドされてしまいます(構成プロパティでビルド対象になっているものだけですが)。Winやってる人は自分に関係ないWebがビルドされてしまい、その分アプリケーションが実行されるまで待たされてしまいます。その逆も然り。自分に関係ないプロジェクトが増えれば増えるほど、待たされる時間は増えていき、ビルドすることができないソースが入っていた日には・・・(悲 ですのでやはり、[デバッグ]-[新しいインスタンスの開始]をお薦めします。 |