gpt4 book ai didi

com - OneNote 2013 加载项无法加载。如何调试?

转载 作者:行者123 更新时间:2023-12-03 04:52:39 25 4
gpt4 key购买 nike

我正在关注 excellent tutorial by Malte Ahrens了解如何创建 OneNote 加载项。

最初,我一步一步地遵循它,做了一些更改(只是重命名类,并在程序集中使用我自己的名称和 GUID)信息。由于我使用的是 VS2012 并且尚未准备好手动安装 WiX 安装程序,因此我手动将构建的 dll 复制到正确的位置,并创建了一个注册表文件来创建必要的条目。我确认它们都在那里,加载了 OneNote 但没有加载项,转到“管理 COM 加载项”部分,我看到以下错误:

enter image description here

加载行为:未加载。加载 COM 加载项期间发生运行时错误。

我花了一些时间对此进行调试,但没有取得很大进展。所以今天下午我决定重新开始,但逐字复制他的代码。我只是下载了示例项目,使用了Vdproj to Wix的试用创建安装程序并构建一切。

我得到了完全相同的错误。

请问这是为什么?这意味着什么?最重要的是如何调试问题?

有关我的环境的一些具体信息以及它可能与原始教程不同的地方。

我正在运行 Office 2013 并且它是 64 位。他的教程适用于 2010 年。这意味着当我加载演示解决方案时,我必须删除对 Onenote 14 Interop 不存在的引用并添加 v15 版本。

就注册表项而言,它们位于正确的位置,而不是 WOW6432 注册表节点。我深知这一点,就好像我加载 OneNote,然后刷新加载项的 HKCR 注册表节点一样,LoadBehavior 会切换到 0x00000002(已禁用)。

其他可能值得注意的事情。

我已启用 OneNote 日志记录,它对我的​​问题没有任何影响。

这里还有另外 2 个帖子也有看似类似的问题(但是 Office 2010)herehere ,都没有得到回应。第一个人加载了一次,但随后每次都必须手动启动它,我的从未加载(并且我没有签署我的程序集)第二个人从未得到响应。

正如我所说,即使知道如何进一步调试它也将是向前迈出的一大步。

编辑:

我已经回去调试我自己的版本,无论如何它几乎是相同的,因为我不确定安装程序实际上在做什么,而且我认为因为它是 wix 转换器的演示,所以它只允许我为 x86 构建.

如果我在“启动外部程序”下添加 OneNote.exe 并在加载项上运行调试,当我尝试在 OneNote 中的“管理 COM 加载项”下勾选该加载项时,我会看到以下几行内容。恐怕我对这一切还很陌生,所以我不确定这意味着什么。

First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.
First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.
First-chance exception at 0x00007ffe4f86ab78 in ONENOTE.EXE: 0x800401FD: Object is not connected to server.

此外,由于阅读了更多内容,我认为我只需将 dll 复制到安装文件夹 program files\[manufacturer]\[application] (因为我没有安装程序)是不够的。我现在已经针对我的 dll 执行了此操作

PS C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319> .\RegAsm.exe 

它回来了

Microsoft .NET Framework Assembly Registration Utility version 4.0.30319.33440
for Microsoft .NET Framework version 4.0.30319.33440
Copyright (C) Microsoft Corporation. All rights reserved.

Types registered successfully

为了正确注册 dll,我还应该做些什么吗?

最佳答案

启用 OneNote 2013 日志记录:

创建文件“EnableOneNote2013APILogging.reg”

Windows Registry Editor Version 5.00  

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options\Logging]

"EnableLogging"=dword:00000001

"EnableTextFileLogging"=dword:0000001

"ttidLogObjectModel"=dword:00000001

"ttidLogObjectModelAddins"=dword:00000001

创建文件“DisableOneNote2013APILogging.reg”

Windows Registry Editor Version 5.00  

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options\Logging]

"EnableLogging"=dword:00000000

"EnableTextFileLogging"=dword:0000000

"ttidLogObjectModel"=dword:00000000

"ttidLogObjectModelAddins"=dword:00000000

这是基于http://blogs.msdn.com/b/descapa/archive/2006/12/08/debugging-the-onenote-api-enable-logging.aspx但您需要添加 EnableTextFileLogging ;-)。

日志文件在 %temp%\OneNote.log 中创建

对于 OneNote 2010,将 .reg 文件中的路径更改为\14.0\而不是\15.0\

关于com - OneNote 2013 加载项无法加载。如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com