使用 Prism 时管理模块依赖关系的正确方法是什么?

What is the correct way to manage module dependencies when using Prism?

我正在试验 Prism,运行 由于 Shell 项目不直接引用模块项目这一事实造成了一些不便。主要的不便之处在于模块输出程序集及其依赖项在编译后不会复制到 shell 项目输出文件夹。我已经成功地使用 xcopy 作为 post-build 事件将目标程序集复制到项目输出文件夹(这不是特别好,但似乎有效),但不是依赖项。

是否有解决此问题的标准方法,还是主要是临时解决方案?必须为每个模块中的每个配置设置一个 post-build 事件似乎过多,所以我想尽可能避免它。

对此有一个简单的解决方案。您可以在 Visual Studio 中设置项目依赖关系,而无需在程序集中创建交叉引用。

打开解决方案属性并转到 项目依赖项 页面。在这里,组合框 Projects 中的 select 包含您的 shell 的主 EXE。或者,在解决方案资源管理器中右键单击您的主项目,然后 select Project Dependencies... 那里:

Depends on列表框中,勾选输出目录中需要编译/复制的所有模块项目。

您可以为解决方案中的所有项目配置更多依赖项(例如,如果模块之间存在间接依赖项)。

在更改任何具有依赖关系的项目时,所有依赖项目将由 Visual Studio 重建并根据构建配置进行处理(例如复制到输出目录)。