0

Prism 6 WPF MVVM モジュラー アプリケーションを開発しています。1 つのシェル プロジェクトと多数の Prism モジュール プロジェクトで構成されるアプリケーションのソリューション。私のアプリケーションでは、ダイナミック ソース C# コードの生成とコンパイル (CodeDom) を実現する必要があります。CodeDOM グラフを構築してコンパイルするためのパブリック メソッドを呼び出すことができるように、コード (CodeDOM グラフを構築し、そこからアセンブリをコンパイルする) を、アプリケーション ソリューション内の任意の Prism モジュール プロジェクトから「可視」であるいくつかの共通クラス ライブラリ (CL プロジェクト) に配置すると仮定します。アプリケーション内の任意の Prism モジュールからのアセンブリ。しかし、アプリケーション内の任意の Prism モジュールからアクセスできるようにアセンブリをコンパイルする方法がわかりません (つまり、すべての Prism モジュールは、CodeDOM グラフからコンパイルされるアセンブリを呼び出せる必要があります)。CodeDOM グラフはクラス ライブラリとしてアセンブリにコンパイルされると想定しています (GenerateExecutable プロパティを false に設定)。コンパイルされたアセンブリがディスクではなくメモリに書き込まれるようにしたい (CompilerParameters.GenerateInMemory = true)。CodeDOM グラフからコンパイルされたアセンブリがアプリケーションのすべてのプリズム モジュールから表示され、これらすべてのモジュールがアセンブリからパブリック メソッドとプロパティを呼び出すことができるようにするにはどうすればよいですか? 最初は Dynamic Source C# Code Generation を使用しましたが、これまで使用したことがありません。だからあなたの助けは非常に高く評価されます。

4

1 に答える 1

0

Prism モジュールは他のモジュールに依存できます。

CodeDOM モジュールを他のすべてのモジュールの依存関係にし、サービス インターフェイス/イベントを共有して、個々のモジュールがランタイム コンパイル済みアセンブリにアクセス/呼び出すために必要な機能を提供します。

于 2016-03-24T13:36:06.697 に答える