我的VSTO Outlook插件突然在一台客户机器上停止工作(它不能加载,没有错误消息),我被故障排除卡住了。这台机器是Windows7 x86,Outlook2007。外接程序是用Visual Studio2008编写的,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003 )。它在其他机器上运行得很好。
以下是我试图获得的有用的故障排除输出:
将具有管理permissions.
VSTO_SUPPRESSDISPLAYALERTS
environment variable (set to 0
).没什么。在没有给出任何原因的情况下,插件就不会加载。我还检查了“常见的疑点”(CAS策略、安装的PIA、注册表中的LoadBehavior、重新安装VSTO和插件)。
其他一些观察结果:
注册表中的
LoadBehavior
停留在3
.ThisAddIn_Startup
处理程序的第一行)有一条Trace.WriteLine
消息,这条消息是无法到达的(我向DebugView查询过了)。因此,不加载的原因不是我的外接程序中的异常,而是VSTO无法加载外接程序或Outlook无法加载VSTO。而不是更多的随机调试(“尝试这个...”,“尝试那个...”),我真的很想强制和/或VSTO告诉我出了什么问题,也就是给我一个有用的错误消息,而不是在尝试启用插件时什么也不做。有什么想法吗?
发布于 2011-01-14 01:59:37
您是否再次尝试启用外接程序?它在禁用队列中之后将不会运行。在您从禁用的外接程序屏幕重新启用它后,您可以选中COM-AddIn屏幕中的复选框,让它加载,然后应该会提示您更多详细信息,因为您设置了VSTO_SUPPRESSDISPLAYALERTS
变量,说明最初可能发生了什么。
发布于 2011-01-14 17:07:26
下面是关于RobertG5的解决方案的更多细节(评论太长了):
问题是外接程序已经被硬禁用了。据我所知,这与“通常”不加载的情况有所不同。实现这一点的关键是要注意,外接程序不会显示在非活动应用程序外接程序下,而是显示在禁用的应用程序外接程序下。这会产生不同:在后一种情况下,只需转到COM-AddIn屏幕并勾选复选框,就什么也不做了。(我想一个很好的消息框“你不能加载这个插件,因为它已经被硬禁用了”可能要求太多了……(叹息。)
那么,如何重新启用硬禁用的外接程序?
好了,现在可以再次加载外接程序了:
发布于 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?
设置以下注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options\OPEN:
使用正确的值:
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"
6.显示messagebox后Excel挂起
重新打开应用程序设置:
xlApp.ScreenUpdating = true;
xlApp.DisplayAlerts = true;
xlApp.Calculation = XlCalculation.xlCalculationAutomatic;
xlApp.UserControl = true;
xlApp.EnableEvents = true;
7.进一步排除故障
通过在系统环境变量中添加以下内容来启用VSTO日志文件:
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(零)。
https://stackoverflow.com/questions/4668777
复制相似问题