将C#应用程序拆分为模块部件

时间:2017-02-20 14:24:26

标签: c# performance dll modular

我有一个完整的工作应用程序,它有一个主应用程序和单独的模块/程序函数存储在dll文件中。存储在dll文件中的表单将加载到FlowLayoutPanel dinamicaly中。我很感兴趣,使用这种技术有什么缺点吗?从一开始我设置项目时遇到了麻烦,另外一个解决方案就是拥有一个主应用程序,但模块也是.exe应用程序运行自己的窗口。

1 个答案:

答案 0 :(得分:1)

假设您使用Reflection加载DLL并且它们都松散耦合(正确使用接口)。您应该将所有模块项目设置为输出为类库(这将生成.dll文件,但每个模块没有.exe)。 然后,可以使用visual studio中的构建后事件设置(针对每个模块项目)将每个模块的DLL文件自动复制到目标位置。事实证明这对我来说非常有效。

example of post-build copy event