質問: WPF、Windows Forms問わずに共有されるライブラリ(dll)があるとして、 そのライブラリを呼び出したEXEがWPFなのか、フォームなのか、コンソールなのかを判定する方法は、ありませんか? * リフレクションを使用する方法でも構いません。 [開発環境] C# 6.0 .NET 4.5.1 VS2015 Preview
回答: もう少し目的をはっきりさせる必要があると思います。単にアセンブリを読み込んでいるだけ※の場合もありますし、スレッドプールから呼び出された場合にはスタックフレームには痕跡がないかもしれません。WPFがWinFormsをホストしたりその逆もできます。また、ILDASM.EXEのように敢えてコンソールアプリケーションとして起動してからフォームを開くものもあります。 ※ Application.StartupPath.aspx)が使いたくてWinFormsを読み込んだことがあります...。