.NET2.0との互換性を維持する必要があるクラスライブラリを公開しています。ただし、このクラスライブラリは、WCFベースのプロジェクトの内部でも使用したいと思います。
たとえば、expose-object-from-class-library-using-wcfを読み取ると、2.0クラスをマップするDataContractSurrogateオブジェクトを作成することにより、2.0クラスライブラリを使用するためのアプローチが提示されます。ただし、オブジェクト階層は豊富で深く、これは面倒で維持が困難です。
私たちはソースコードを管理しているので、もっと簡単なアプローチを探しています。
1つの考えは、ソースコードにDataConract属性を追加し、2.0ランタイムを対象にソリューションを構築する場合はDataContractAttributeの「空の」実装を提供し、3.0以降を対象にソリューションを構築する場合はSystem.Runtime.Serialization実装を使用することです。ランタイム。これは、ビルド間の参照を手動で微調整することで実現できます。
このアプローチを実装するためのより良い方法はありますか?
より良いアプローチはありますか?