2

我有一个用例,有一个 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 将非常性感和简单,但这并不是完全必要的。因此,如果这个想法是方式,远离人迹罕至的道路,并可能导致不寻常的问题,我不会想做。)

谢谢你。

4

1 回答 1

2

在您决定组装时,只需调用Process.Start()并运行适当的应用程序。不要混合开发的东西。

于 2012-09-18T23:34:25.697 回答