VSTOを使用せずに.NETベースのOfficeアドインを作成する場合は、アドインをロードする「COMシム」を使用してプロセスを分離し、クラッシュの影響をに制限する必要があります(または少なくとも望ましい)。そのアドイン。
Microsoft(私は思う)は私が使用していたC ++ shimプロジェクトを提供しましたが、今はプロジェクトを.NET 1.1(はい、本当に)から.NET4に遅ればせながらアップグレードしています。
shimプロジェクトからコンパイラの警告が表示されます。
警告C4996:'CorBindToRuntimeEx':このAPIは非推奨になりました。詳細については、http: //go.microsoft.com/fwlink/?LinkId=143720を参照してください。
残念ながら、このリンクは実際にそれを修正する方法を教えてくれません、そして私はオリジナルを理解していないので、私はこれを行う立場にありません。
参考までに、問題のあるコードは次のようになります。
// Load runtime into the process ...
hr = CorBindToRuntimeEx(
// version, use default
0,
// flavor, use default
0,
// domain-neutral"ness" and gc settings
STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN | STARTUP_CONCURRENT_GC,
CLSID_CorRuntimeHost,
IID_ICorRuntimeHost,
(PVOID*) &m_pHost);
利用可能なshimプロジェクトの新しいバージョンはありますか?見つかりませんでした...