在不使用VSTO 创建基于 .NET 的 Office 加载项时,有必要(或至少需要)使用加载加载项的“COM shim”,以提供进程隔离,以便将任何崩溃的影响限制在该加载项。
微软(我认为)提供了我一直在使用的 C++ shim 项目,但现在我将我的项目从 .NET 1.1(是的,真的)升级到 .NET 4 为时已晚。
我收到了来自 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 项目的新版本?我一直找不到...