IoC の外部アセンブリである Ninject IoC アセンブリを使用しています。モノとウィンドウの両方をサポートしています。しかし、モノで作業するには、別のコンパイル済みバージョンのアセンブリが必要です。
次の問題があります。
Ninject Windows バージョンを使用する Domain.Core プロジェクトがあります。追加の 2 つのプロジェクトがあります。For.Mono および For.Windows と呼びます。両方とも Domain.Core プロジェクトへの参照があります。
問題は、Ninject が mono で動作するには、特別なコンパイル シンボルを使用してコンパイルする必要があることです。
現在、モノ バージョンは Windows では動作しません。同じソリューションで両方のバージョンを使用して次のような問題を解決するにはどうすればよいですか。
For.Mono プロジェクトを実行すると、Domain.Core プロジェクトがコード内のいくつかのクラスで Ninject を使用し、そのスコア Windows バージョンのローカルを参照している場合でも、Ninject の Mono バージョンのみが使用されます。どういうわけかMonoバージョン、
For.Windows プロジェクトで Ninject Windows バージョンを使用すると、この問題は問題なく機能するので些細なことですが、For.モノプロジェクト。コンパイラが正しいことは理解していますが、1 つのコードベースでクロスプラットフォーム サポートの問題を解決するにはどうすればよいですか?