いくつかのパブリッククラスとインターフェイスのみを公開する多くの内部機能を備えたC#ライブラリがあります。このコードを複数のプロジェクト間で共有したいと思います。各プロジェクトでは、内部クラスをサブクラスで拡張する必要がある場合があります。
共通のライブラリを作成するために、これらすべてのクラスを公開するというアイデアは好きではありません。逆コンパイルが簡単になりすぎて、デザインが壊れてしまうのではないかと思います。
ソースコードのコピーを作成し、それらのファイルをプロジェクト間で同期させる唯一の実際のオプションはありますか?または、コードを共有しながら、プロジェクトごとに1つのライブラリを取得して、目的のパブリックインターフェイスとクラスのみを公開する方法はありますか?
VisualStudio2010を使用しています。
アップデート
逆コンパイルと「プライベート」アクセスに関する説明をありがとう。いくつかの入力ライブラリに難読化ツールを適用して、それらのパブリック接続さえも難読化することを検討できると思います。
設計の観点からは、答えは間違いなくフレンドアセンブリを使用することのようです。