2013-02-26 58 views
3

創建基於.NET的Office加載項而不是 VSTO時,使用加載加載項的「COM shim」來提供進程隔離是必要的(或至少需要),以便實現任何崩潰僅限於該加載項。Office Add-in Shim是否有.NET 4兼容版本?

微軟(我認爲),前提是我使用過的C++墊片項目,但我現在爲時已晚升級我的項目從.NET 1.1(是真的)到.NET 4

我m從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); 

有墊片項目的新版本可用?我一直無法找到一個...

+0

http://msdn.microsoft.com/en-us/library/01918c6x%28VS.100%29.aspx – Rob 2013-02-26 17:21:17

+0

謝謝,但因爲我對CLR或墊片實際上並不熟悉,我不認爲我是重新實施墊片的合適人選。這*應該*是微軟提供的 - 事實上它很煩人,它不是加載項目模板的一部分! – 2013-02-26 17:25:17

回答

2

我發現this,這是VS2010的解決方案。它還介紹瞭如何在使用墊片時在加載項中設置斷點,這是我總會發現的問題。

我也能夠將其轉換爲VS2012項目。