ユーザーから情報を収集し、いくつかのSQL-Serverテーブルを更新するWinFormがあります。
リモートサーバー上で実行され、同じテーブルをスキャンしているコンソールがあります。表に特定の基準がある場合、このコンソールはいくつかのプロセスを完了します。
現在、コンソールとWinFormは相互に通信する必要はありません。
両方のプロジェクトを同じソリューションに配置する必要がありますか、それとも2つの別々のソリューションに配置する必要がありますか?
ユーザーから情報を収集し、いくつかのSQL-Serverテーブルを更新するWinFormがあります。
リモートサーバー上で実行され、同じテーブルをスキャンしているコンソールがあります。表に特定の基準がある場合、このコンソールはいくつかのプロセスを完了します。
現在、コンソールとWinFormは相互に通信する必要はありません。
両方のプロジェクトを同じソリューションに配置する必要がありますか、それとも2つの別々のソリューションに配置する必要がありますか?
単一のソリューションを使用します。詳細については、こちらをお読みください( 「ソリューションとプロジェクトのパーティショニング」セクション) 。
利点
シングルソリューションモデルには、次の利点があります。
別のプロジェクトによって生成された別のアセンブリを参照する必要がある場合は、プロジェクト参照を使用できます。プロジェクト参照は、他のアセンブリへの参照を確立するための推奨される方法であり、チーム環境のすべての開発ワークステーションで機能することが保証されています。プロジェクト参照の多くの利点とファイル参照をいつ使用するかに関するガイダンスについては、第4章「依存関係の管理」の「アセンブリの参照」で説明しています。
Visual Studio .NETは、参照されているアセンブリのクライアントを再構築する必要がある場合を検出するため、アセンブリのバージョン管理の問題が回避されます。
プロジェクト参照は、参照されるプロジェクトの構成の変更に敏感です。これは、参照をリセットしなくても、プロジェクト間でデバッグビルドとリリースビルドから自動的に切り替えることができることを意味します。
システムビルドプロセスとビルドスクリプトははるかに簡単です。
短所
可能な限り、単一のソリューションモデルを採用することをお勧めします。でも:
モデルはこれまでのところのみスケーリングします。ソリューション内の単一のプロジェクトで作業する場合は、ソリューション内のすべてのプロジェクトのすべてのソースコードを取得する必要があります。
プロジェクトの依存関係により、単一のプロジェクト内の単一のソースファイルにわずかな(破損しない)変更を加えた場合でも、ソリューション内の多くのプロジェクトが再構築される可能性があります。参照されているプロジェクト内でアセンブリのインターフェイスが変更された場合は、クライアントプロジェクトを再構築する必要があります。ただし、特に多くのプロジェクトを含むソリューションの場合、不要な再構築には非常に時間がかかる可能性があります。