1

如何组织多个 Composite WPF 应用程序,以便它们共享一个 Shell 项目,但从不同的 App.config 文件填充它们的模块目录?

我正在使用 WPF 的复合应用程序指南编写一套应用程序。每个应用程序的功能取决于不同模块的可用性,这些模块在 Shell 的 App.config 中列出。通过给每个应用程序一个不同的 App.config,我可以指定每个应用程序可以使用哪些模块。

但是,我想在所有应用程序之间共享一个 Shell 项目,以获得共同的外观和感觉。最初,我为每个应用程序创建了一个解决方案,添加了 Shell 项目,然后添加了相关模块。问题是常见的 Shell 项目只有一个 App.config 文件,我不能在每个解决方案的基础上更改它。

通过代码填充目录并不能避免这个问题——Shell 中仍然会有特定于应用程序的代码,必须以某种方式由我正在使用的解决方案激活。

4

2 回答 2

1

我决定做的是将 Shell 视为自己的模块。每个应用程序都有自己的解决方案和项目,其中包含单独的 App.config 文件。他们也有自己的 Bootstrapper 类。每个应用程序中的引导程序都会实例化 Shell。

于 2009-06-29T22:35:29.213 回答
0

除了硬编码模块和从配置中加载模块外,您还可以从给定目录动态加载模块。

因此,为了设置所有使用相同外壳的不同“应用程序”,我将创建一个批处理文件,将每个应用程序的正确模块复制到单独的文件夹中,从而创建不同的应用程序。

Composite Guidance Library 文档有更多关于设置项目以从目录动态加载模块的信息。

于 2009-06-25T15:03:02.250 回答