WPF アプリケーション コードのみをホストするか、 WinForms コードのみをホストするかを起動時に決定できる単一の exe があると便利なユース ケースがあります。決定が下されると、exe は単に 1 つの 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 Framework アセンブリのみを参照します。(だからSystem, System.Core, System.Data, System.Xml, etc
) 次に、残りの作業を行う MyApp.Windows.dll または MyApp.Windows.dll への参照を動的にロードするだけです。
私の質問は次のとおりです。
- 何がうまくいかない可能性がありますか?
- 私はそこに例を見つけることができません。あなたはできる?
- 2 つの別個の exe を避けるためだけに問題を起こす価値はありますか?
(基本的に、単一の exe はエンドユーザー (開発者) にとっては非常に魅力的でシンプルですが、完全に必要というわけではありません。したがって、このアイデアが道を外れている場合は、常軌を逸しており、異常な問題を引き起こす可能性があります。やりたい。)
ありがとうございました。