我有一个用例,有一个 exe 可以在启动时决定它是仅托管WPF 应用程序代码还是仅托管WinForms 代码。一旦做出决定,exe 将简单地加载一个 dll(用于 WinForms)或不同的 dll(用于 WPF)。
我希望 exe 具有尽可能少的代码(和引用),并将大部分(如果不是全部)应用程序逻辑放在一组 dll 中。这就是我的想法:
MyApp.exe <- The exe shim.
MyApp.Core.dll <- Things and Stuff.
MyApp.Windows.Forms.dll <- The WinForms dll.
MyApp.Windows.dll <- The WPF dll.
MyApp.exe 将仅引用 WinForms和WPF通用的 .NET 框架程序集。(所以,System, System.Core, System.Data, System.Xml, etc
)然后它只会动态加载对 MyApp.Windows.dll 或 MyApp.Windows.dll 的引用,这将完成其余的工作。
我的问题是:
- 什么可能出错?
- 我找不到任何例子。你能?
- 仅仅为了避免拥有 2 个独立的 exe 就值得麻烦吗?
(基本上,对于最终用户(他们是开发人员)来说,单个 exe 将非常性感和简单,但这并不是完全必要的。因此,如果这个想法是方式,远离人迹罕至的道路,并可能导致不寻常的问题,我不会想做。)
谢谢你。