MAF アドインがあるので、WPF アプリから Windows フォーム アプリケーションを表示できます。vshost で Visual Studio から実行するとすべて完全に機能しますが、VS の外部でアプリを実行すると、ほとんどの場合アドイン プロセスが終了します。
public FrameworkElement GetAddInUI(bool recoverLayout)
{
DC.Resolve<ILogger>().Info("GetAddInUI...");
// the process exits here when not in VS
INativeHandleContract inhc = scpAddInContract.GetAddInUI(recoverLayout);
DC.Resolve<ILogger>().Info("GetAddInUI done.");
FrameworkElement fe = null;
DC.Resolve<ILogger>().Info("ContractToViewAdapter...");
DC.Resolve<ISynchronizationService>().Invoke(() =>
{
fe = FrameworkElementAdapters.ContractToViewAdapter(inhc);
});
DC.Resolve<ILogger>().Info("ContractToViewAdapter done");
return fe;
}
public INativeHandleContract GetAddInUI(bool recoverLayout)
{
INativeHandleContract value = null;
dispatcher.DoWork(() => value = new IMyNativeHandle(FrameworkElementAdapters.ViewToContractAdapter(scpAddInView.GetAddInUI(recoverLayout))));
return value;
}
MAF の経験があり、vshost で実行するとどのような違いが生じるか説明できますか?