当创建基于 .NET 的 Office 加载项而不 VSTO 时,有必要(或至少需要)使用加载加载项的“COM 填充程序”来提供进程隔离这样任何崩溃的影响都仅限于该加载项。
Microsoft(我认为)提供了我一直在使用的 C++ shim 项目,但现在我迟迟没有将我的项目从 .NET 1.1(是的,真的)升级到 .NET 4。
我从 shim 项目收到编译器警告:
warning C4996: 'CorBindToRuntimeEx': This API has been deprecated. Refer to http://go.microsoft.com/fwlink/?LinkId=143720 for more details.
不幸的是,这个链接实际上并没有告诉我如何修复它,而且由于我不理解原文,所以我无法做到这一点。
仅供引用,违规代码如下所示:
// 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 项目可用?我一直找不到...
最佳答案
我找到了 this ,这是VS2010的解决方案。它还介绍了如何在使用垫片时在加载项中设置断点,这是我一直发现的问题。
我也能够将其转换为 VS2012 项目。
关于.net - 是否有 .NET 4 兼容版本的 Office 加载项 Shim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095191/