代码之家  ›  专栏  ›  技术社区  ›  Oliver Hanappi

为什么Outlook 2007不加载安装了vsto 2010和注册的托管应用程序级别外接程序(针对.NET 4)的clr 4?

  •  1
  • Oliver Hanappi  · 技术社区  · 15 年前

    我已经为面向Outlook 2010和.NET 4的Outlook开发了一个应用程序级外接程序,并希望在Outlook 2007上运行它,由于.NET 4的新“无PIA”功能,这不应该是一个问题(请参见 this 博客帖子)。

    但是,在使用我的Windows Installer软件包部署外接程序之后(相同的软件包适用于Outlook 2010),该外接程序无法正确加载,其加载行为设置为2。

    测试机安装了以下软件(按给定顺序):

    • 带Service Pack 2的Microsoft Windows XP(x86)
    • Microsoft Office 2007企业版
    • Windows安装程序3.1
    • Microsoft Windows XP Service Pack 3(x86)
    • Microsoft.NET Framework 4.0(扩展)
    • Microsoft Visual Studio 2010 Office运行时工具(x86)

    实用程序集包含在我的部署位置中,外接程序已正确注册(显示在Outlook信任中心中,并且还包括部署清单)。我没有提及任何第三方图书馆。

    奇怪的是,clr 4甚至没有加载到Outlook中,我可以通过Visual Studio 2010远程调试器看到它。当我在开发计算机上创建一个测试外接程序并在外接程序启动时引发异常时,加载行为在启动时(不进行调试)也被设置为2,但至少CLR 4被加载到Outlook进程中。有人知道什么(可能缺少依赖项)会导致vsto 2010运行时不加载.NET Framework 4吗?我还尝试重新安装vsto,但没有造成任何影响。

    最好的问候,
    奥利弗哈纳皮

    1 回复  |  直到 15 年前
        1
  •  1
  •   Oliver Hanappi    15 年前

    我在msdn论坛上找到了解决方案。没有安装clr 2时出现问题。在这种情况下需要修补程序。有关详细信息,请参阅 http://social.msdn.microsoft.com/Forums/en/vsto/thread/d95cc828-fdb9-4622-bf09-291a25cea81b .