我开发了Prism 6 WPF MVVM模块化应用程序。我的应用程序的解决方案包括一个Shell项目和许多Prism模块项目。在我的应用程序中,我必须实现动态源代码生成和编译(CodeDom)。我假设将代码(构建CodeDOM图并从中编译程序集)放在某个公共类库(CL项目)中,该类库在我的应用程序解决方案中的任何Prism模块项目中都是"可见的",这样我就可以调用公共方法来构建CodeDOM图形并从中从应用程序中的任何棱镜模块编译程序集。但我不知道如何从我的应用程序中的任何Prism模块访问正在编译的程序集(即,每个Prism模块都必须能够调用从CodeDOM图编译的程序集中)。我假设CodeDOM图将作为类库编译到程序集(GenerateExecutable属性设置为false)。我希望已编译的程序集将写入内存而不是磁盘(CompilerParameters.GenerateInMemory=true)如果我希望从CodeDOM图编译的程序集在我的应用程序中的所有棱镜模块中都可见,并且所有这些模块都可以从assemply调用公共方法和属性,我该怎么办我最初使用的是动态源代码生成,以前从未使用过。因此,我们将非常感谢您的帮助。
Prism模块可以依赖于其他模块。
使CodeDOM模块成为所有其他模块的依赖项,并共享一个服务接口/事件,以提供各个模块访问/调用运行时编译的程序集所需的功能。