我正在试验Prism,而且由于Shell项目没有直接引用Module项目,我遇到了许多不便。主要的不便之处是模块输出程序集及其依赖项在编译后不会复制到shell项目输出文件夹。我已成功使用xcopy作为构建后事件将目标程序集复制到项目输出文件夹(这不是特别好,但似乎有效),但不是依赖项。
是否有一种标准方法可以解决这个问题,还是主要是临时解决方案?必须为每个模块中的每个配置设置一个post-build事件似乎过多,所以我想尽可能避免它。
答案 0 :(得分:1)
有一个简单的解决方案。您可以在Visual Studio中设置项目依赖项,而无需在程序集中创建交叉引用。
打开解决方案属性,然后转到项目依赖关系页面。在这里,在组合框中选择项目包含shell的主EXE。或者,在解决方案资源管理器中右键单击您的主项目,然后选择项目依赖项... :
在取决于列表框中,选中需要在输出目录中编译/复制的所有模块项目。
您可以为解决方案中的所有项目配置更多依赖项(例如,如果模块之间存在间接依赖关系)。
在更改任何具有依赖项的项目时,Visual Studio将重建所有相关项目,并根据构建配置进行处理(例如,复制到输出目录)。