3

不使用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 项目的新版本?我一直找不到...

4

1 回答 1

3

我找到了这个,这是 VS2010 的解决方案。它还介绍了在使用 shim 时如何在加载项中设置断点,这是我一直发现的问题。

我也能够将其转换为 VS2012 项目。

于 2013-02-27T15:56:30.317 回答