クラス ファイルを定義し、それを 2 つの目的で使用しています (DRY 原則を順守するため)。一部のフィールドには、実行時にプログラム A によって使用される属性があります。プログラム B はこれらを認識していないため、これらのクラスをプロジェクトに含めるとコンパイルが拒否されます。これを回避する方法は 2 つありますが、どちらも好きではありません。
プログラム A の DLL への参照を追加します - コンパイル エラーを回避するためだけにこの依存関係を追加するという考えは好きではありません
プリプロセッサ ディレクティブを追加し、それぞれを #if、#else ステートメントでラップします。たくさんあるので、この方法もあまり好きではありません。
私のプロジェクトでこれらの属性を無視するか、問題を解決するために誰でも考えられるよりエレガントなソリューションはありますか?
PS。プログラム A は、ファイルヘルパー ( http://filehelpers.sourceforge.net/ ) を使用して、実行時にクラス定義を使用するプログラムです。これでデータがインポートされると、プログラム B は (問題が発生しなければ!) 最初に EF コードを使用して、同じデータに対してモデル化します。