首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何诊断VSTO插件无法加载的问题?

如何诊断VSTO插件无法加载的问题?
EN

Stack Overflow用户
提问于 2011-01-12 20:27:19
回答 7查看 97.2K关注 0票数 76

我的VSTO Outlook插件突然在一台客户机器上停止工作(它不能加载,没有错误消息),我被故障排除卡住了。这台机器是Windows7 x86,Outlook2007。外接程序是用Visual Studio2008编写的,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003 )。它在其他机器上运行得很好。

以下是我试图获得的有用的故障排除输出:

将具有管理permissions.

没什么。在没有给出任何原因的情况下,插件就不会加载。我还检查了“常见的疑点”(CAS策略、安装的PIA、注册表中的LoadBehavior、重新安装VSTO和插件)。

其他一些观察结果:

注册表中的

  • LoadBehavior停留在3.
  • The加载项中显示为“已禁用”。在"COM add-ins“中选中复选框不起作用(没有错误,第二次输入表单时复选框会再次清除)。
  • it在其他客户计算机上运行得很好,在这台计算机上运行得也很好。(不,客户不能告诉我他的机器上发生了什么变化。)
  • 我在我的代码顶部( ThisAddIn_Startup处理程序的第一行)有一条Trace.WriteLine消息,这条消息是无法到达的(我向DebugView查询过了)。因此,不加载的原因不是我的外接程序中的异常,而是VSTO无法加载外接程序或Outlook无法加载VSTO。

而不是更多的随机调试(“尝试这个...”,“尝试那个...”),我真的很想强制和/或VSTO告诉我出了什么问题,也就是给我一个有用的错误消息,而不是在尝试启用插件时什么也不做。有什么想法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-01-14 01:59:37

您是否再次尝试启用外接程序?它在禁用队列中之后将不会运行。在您从禁用的外接程序屏幕重新启用它后,您可以选中COM-AddIn屏幕中的复选框,让它加载,然后应该会提示您更多详细信息,因为您设置了VSTO_SUPPRESSDISPLAYALERTS变量,说明最初可能发生了什么。

票数 53
EN

Stack Overflow用户

发布于 2011-01-14 17:07:26

下面是关于RobertG5的解决方案的更多细节(评论太长了):

问题是外接程序已经被硬禁用了。据我所知,这与“通常”不加载的情况有所不同。实现这一点的关键是要注意,外接程序不会显示在非活动应用程序外接程序下,而是显示在禁用的应用程序外接程序下。这会产生不同:在后一种情况下,只需转到COM-AddIn屏幕并勾选复选框,就什么也不做了。(我想一个很好的消息框“你不能加载这个插件,因为它已经被硬禁用了”可能要求太多了……(叹息。)

那么,如何重新启用硬禁用的外接程序?

  1. 在“Manage”框中,将“COM Add-ins”更改为“Disabled Add-ins”,然后单击“Go”。
  2. 选择该加载项并单击“启用”。单击Close.

好了,现在可以再次加载外接程序了:

  1. 在“Manage”框中,将“Disabled Add-ins”更改为“COM Add-ins”,然后单击“Go”。
  2. 选中已禁用的外接程序旁边的复选框。单击OK.

参考:http://msdn.microsoft.com/en-us/library/ms268871.aspx

票数 56
EN

Stack Overflow用户

发布于 2013-02-05 08:34:00

我知道这是旧的,但由于各种原因,我最近一直在排除Office插件无法加载的故障。

它消耗了大量的时间,所以我想我应该分享一下,所以如果你的插件不能加载,或者它看不见等等,请尝试这些解决方案。

1.未加载外接程序。

未加载。加载COM外接程序时发生运行时错误。

该问题是由于缺少.Net框架3.5或4.0造成的。

注:如果办公版本是64位.Net (X64),我只需要Office 4.0。但是,如果office版本是32位版本(X86),则在安装.Net 4.0后也会出现错误。在这个article之后,我安装了.Net 3.5,然后它在x86 article上工作!

另外还需要安装VSTO Runtime3.0 form here

2.未加载外接程序。

仔细检查注册表项的拼写是否正确。我偶尔会输入行为,但在美国拼写就是行为,所以请仔细检查"LoadBehavior“

另请确保"LoadBehavior“为3,有关值的列表,请参见http://msdn.microsoft.com/en-us/library/vstudio/bb386106.aspx#LoadBehavior

3.加载项不可见。

您可以通过转到Excel > File > Options > Add-Ins >选择Manage下拉列表并将其设置为COM Add-Ins > Click GO来使外接程序可见。在COM Add-Ins对话框中,确保勾选了Add-In。

4.外接程序已禁用。

或者,外接程序可能会被隐藏,因为它已被禁用。您可以通过转到Excel > File > Options > Add-Ins >选择Manage下拉列表并将其设置为Disabled,然后单击GO来启用该加载项。选择已禁用的外接程序,然后单击Enable。

5. ExcelDNA用户定义公式未正确呈现

您看到的不是单元格值:#NAME?

设置以下注册表项:

代码语言:javascript
运行
复制
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options\OPEN:

使用正确的值:

代码语言:javascript
运行
复制
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"

6.显示messagebox后Excel挂起

重新打开应用程序设置:

代码语言:javascript
运行
复制
xlApp.ScreenUpdating = true;
xlApp.DisplayAlerts = true;
xlApp.Calculation = XlCalculation.xlCalculationAutomatic;
xlApp.UserControl = true;
xlApp.EnableEvents = true;

7.进一步排除故障

通过在系统环境变量中添加以下内容来启用VSTO日志文件:

代码语言:javascript
运行
复制
NAME: VSTO_LOGALERTS
VALUE: 1

可能存在异常错误,这就是无法加载外接程序的原因。

您可以在VSTO日志记录和警报上检查this source for more info,但实际上您需要根据需要更改两个环境变量值:

显示VSTO警报提示

若要在消息框中显示每个错误,请将VSTO_SUPPRESSDISPLAYALERTS变量设置为0(零)。您可以通过将变量设置为1(1)来禁止显示消息。

将VSTO警报记录到日志文件

要将错误写入日志文件,请将VSTO_LOGALERTS变量设置为1(1)。

Visual Studio Tools for Office在包含应用程序清单的文件夹中创建日志文件。默认名称为.manifest.log。要停止记录错误,请将该变量设置为0(零)。

票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4668777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档