Visual Studio 2010 を使用して C# でいくつかの非常に基本的なアーキテクチャの問題を管理する方法を理解する必要があり、教科書や Web サイトで解決策を見つけるのに苦労しています。MyWinForm.cs と 2 つのクラス ライブラリに基づく MyWinForm.sln ソリューションがあるとします。たとえば、a.dll、b.dll 私の目的: C# を順番に学習するためだけにコーディングしたアプリケーションをリファクタリングしたいと考えています。適切なアプリケーション アーキテクチャを持つこと。
さまざまなアプリケーションで再利用するために汎用メソッドを含む必要がある c.dll を設計したいと考えています: MyWinForm と、たとえば yawfs.sln (さらに別の Windows フォーム ソリューション) の両方を使用して、c への参照を作成できるようにします。 dll を両方のソリューションから取得します。新しいクラス ライブラリソリューションを作成する必要があると思います そのクラスを再利用するため。しかし、私の知る限り、別のソリューションへの参照を追加することはできません。現在のソリューション内のアセンブリ (現在のソリューション内の別のプロジェクト) または .Net アセンブリへの参照のみを追加できます。ナビゲーション パネルを使用して a.dll アセンブリを選択し、参照を追加する必要がありますか? おそらく、既存のアセンブリを現在のソリューションに含めて、対応するソリューション内で実行された変更と同期させる方法はありますか? 理解できません。
MyWinForm から b.dll を抽出して、c.dll とまったく同じ目的でそれを促進したい場合はどうすればよいですか? 新しいソリューションとして宣伝するにはどうすればよいですか?
- ここで、MyWinFormLeft.sln と MyWinFormRight.sln を持つように MyWinForm をフォークする必要があるとしましょう。どちらも共通の共有コードとは異なる方法で進化します。まったく同じ a.dll アセンブリと b.dll アセンブリ (同じバージョン) を使用 (および共有) しますが、MyWinForm.cs のコードは変更され始めます。既存のソリューションから新しいソリューションを作成する正しい方法は何ですか?
私の質問が非常に厄介に聞こえることはわかっていますが、VS と C# の共同使用パターンと、以前に使用した C コンパイラ/リンカー サイクルとの間で実行しようとしている比較から問題が発生します。コードをコンパイルしてライブラリを取得し、次にリンクします。どのようなアプリケーションでもそれらを必要とします。限目。