自分の更新ランタイムを処理するためにアドインをリロードしようとしています(クリックワンスデプロイメントAPIを使用しますが、サイレント更新を提供します)
しかし、私はアドインのリロードに固執しました。私の現在のタスクは、単純なアンロードとリロードのアドインです。私が見つけたものはこれに似ていました:
private void Reload()
{
try
{
COMAddIns comAddIns = Globals.ThisAddIn.Application.COMAddIns;
COMAddIn addIn =
comAddIns.Cast<COMAddIn>().FirstOrDefault(addin => string.Equals(addin.Description, "OutlookAddIn1", StringComparison.OrdinalIgnoreCase));
if (addIn != null)
{
addIn.Connect = false;
addIn.Connect = true;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
しかし、この単純なクラッシュは次のとおりです。
addIn.Connect = false;
これを追加のtry/catchブロックに入れてみましたが、機能しません。Connect = false
私が持っていると呼んでいる間
ThreadAbortException
、私はそれが起こるのを防ぐことはできません。
コードからのアドインを単純に無効にして有効にしますが、現時点では実現できません。