2

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 はエンドユーザー (開発者) にとっては非常に魅力的でシンプルですが、完全に必要というわけではありません。したがって、このアイデアが道を外れている場合は、常軌を逸しており、異常な問題を引き起こす可能性があります。やりたい。)

ありがとうございました。

4

1 に答える 1

2

アセンブリを決定したら、 Process.Start()を呼び出して、適切なアプリを実行します。開発中のものを混ぜないでください。

于 2012-09-18T23:34:25.697 に答える