Hei*_*nzi 73 .net vsto outlook-addin
我的VSTO Outlook插件突然停止在一台客户机器上工作(它没有加载,没有错误消息)而且我遇到了故障排除问题.该机器是Windows 7 x86,Outlook 2007.该加载项是使用Visual Studio 2008编写的,并使用VSTO 2005和2003 PIA(因为我们还需要支持Outlook 2003).它在其他机器上完美运行.
这是我试图获得有用的故障排除输出:
VSTO_SUPPRESSDISPLAYALERTS环境变量(设置为0).没有.加载项不会在没有给出任何原因指示的情况下加载.我还检查了"通常的嫌疑人"(CAS政策,安装的PIA,注册表中的LoadBehavior,重新安装VSTO和加载项).
其他一些观察:
LoadBehavior在注册表中停留在3.Trace.WriteLine代码的最顶部(ThisAddIn_Startup处理程序中的第一行)有一条消息,未到达(我使用DebugView检查).因此,不加载的原因不是我的加载项中的例外,而是VSTO加载加载项或Outlook加载VSTO失败.而不是更随机的调试("试试这个......","试试......"),我真的想强迫Outlook和/或VSTO告诉我什么是错的,即给我一个有用的错误信息而不是只是无所事事试图启用加载项时.有任何想法吗?
Hei*_*nzi 53
这里有关于RobertG5解决方案的更多细节(评论太长了):
问题是Outlook 严格禁用了加载项.据我所知,这与"通常"的无负载情况有所不同.实现这一点的关键是注意到加载项未显示在非活动应用程序加载项下,而是显示在" 已禁用的应用程序加载项"下.这有所不同:在后一种情况下,只需进入COM-AddIn屏幕并勾选复选框即可.(我猜一个很好的消息框"你无法加载这个加载项,因为它已经被硬禁用了"会太多问了...... 叹了口气.)
那么,如何重新启用硬禁用加载项?
好的,现在可以再次加载加载项:
参考:http://msdn.microsoft.com/en-us/library/ms268871.aspx
Gar*_*ner 52
您是否尝试过再次启用加载项?它在禁用队列中后不会运行.从禁用的加载项屏幕重新启用它之后,您可以检查COM-AddIn屏幕中的框以加载它,然后应该提示您更多详细信息,因为您设置了VSTO_SUPPRESSDISPLAYALERTS关于第一个可能发生的变量的变量地点.
Jer*_*son 44
我知道这是旧的但由于各种原因我最近一直在解决不加载Office附加组件的问题.
它嚼了很多时间,所以我想我会分享,所以如果你的加载项不会加载或不可见或等等,请尝试这些解决方案.
1).未加载加载项.
没装.加载COM加载项期间发生运行时错误.

问题是由于缺少.Net framework 3.5或4.0.
注意:在x64上我只需要.Net 4.0但是在x86 PC上我在安装.Net 4.0后出错了.在这篇文章之后,我安装了.Net 3.5,然后它在x86 PC上运行!
2).未加载加载项.
仔细检查您是否正确拼写了注册表项.偶尔我输入行为,但美国拼写是行为,所以仔细检查"LoadBehavior"

还要确保"LoadBehavior"为3,有关值列表,请参阅http://msdn.microsoft.com/en-us/library/vstudio/bb386106.aspx#LoadBehavior
3).加载项不可见.
您可以通过转到Excel>文件>选项>加载项>选择管理下拉列表并将其设置为COM加载项>单击GO来使加载项可见.在"COM加载项"对话框中,确保勾选了加载项.
4).加载项已禁用.
或者,可以隐藏加载项,因为它已被禁用.您可以通过转到Excel>文件>选项>加载项>选择管理下拉列表并将其设置为已禁用并单击执行来启用加载项.选择已禁用的加载项,然后单击"启用".

5).ExcelDNA用户定义的公式未正确呈现
而不是看到您看到的单元格值:#NAME?
设置以下注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\options\OPEN:
Run Code Online (Sandbox Code Playgroud)
使用正确的值:
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"
Run Code Online (Sandbox Code Playgroud)
6).显示消息框后显示Excel HANGS
关闭应用程序设置:
xlApp.ScreenUpdating = true;
xlApp.DisplayAlerts = true;
xlApp.Calculation = XlCalculation.xlCalculationAutomatic;
xlApp.UserControl = true;
xlApp.EnableEvents = true;
Run Code Online (Sandbox Code Playgroud)
7).进一步排查
通过在系统环境变量中添加以下内容来启用VSTO日志文件:
NAME: VSTO_LOGALERTS
VALUE: 1
Run Code Online (Sandbox Code Playgroud)
可能存在异常错误,这是加载项未加载的原因.
您可以查看此源以获取有关VSTO日志记录和警报的更多信息,但实质上您可以根据需要更改两个环境变量值:
显示VSTO警报提示
要在消息框中显示每个错误,请将VSTO_SUPPRESSDISPLAYALERTS变量设置为0(零).您可以通过将变量设置为1(一)来抑制消息.
将VSTO警报记录到日志文件中
要将错误写入日志文件,请将
VSTO_LOGALERTS变量设置为1(一).Visual Studio Tools for Office在包含应用程序清单的文件夹中创建日志文件.默认名称为.manifest.log.要停止记录错误,请将变量设置为0(零).
| 归档时间: |
|
| 查看次数: |
85118 次 |
| 最近记录: |