断点未在 VSTO 加载项中触发
Breakpoints not triggering in VSTO Add-in
今天我的客户告诉我一个有趣的情况。我确信这很简单,但似乎我无法理解它。从未遇到过这个问题,Google 帮助不大。
问题
在我客户的笔记本电脑上,加载项是使用 Add-in Express™ for Microsoft® Office and .net 创建的。 运行 加载项从 VS 时,断点不触发。我通过teamviewer登录。我们创建了一个新的测试项目(插件)并添加了这个简单的代码。
Private Sub AdxExcelAppEvents1_WorkbookOpen(sender As Object, hostObj As Object) Handles _
AdxExcelAppEvents1.WorkbookOpen
MessageBox.Show ("Hello World")
End Sub
我在AdxExcelAppEvents1_WorkbookOpen
和运行上设置了一个断点。我在打开新工作簿时收到消息,但断点没有触发。
我在我的笔记本电脑上测试了相同的代码,它工作得很好。
我和他都试过什么
- 注销、清理 + 重建、注册
- 手动清理 Debug 文件夹
- 正在修复 Add-In Express
- Uninstalling/ReInstalling 加载项快递
- 在框架 4.5 和 4.6、4.7.1 之间跳转
- 切换
Tools | Options | Debugging | General require source files to exactly match the original version
- 切换解决方案平台 (x86|64|AnyCPU)
应用程序
- Visual Studio 版本: 2019 Pro
- MS Office:2016 专业增强版 2016
如果您还需要什么,请告诉我?
仅供参考:这已交叉发布在 Add-in Express forum 我通常不交叉发布,但似乎我的客户压力很大,必须在星期一早上交付这个项目。
您可以使用 System.Diagnostics
中的方法 Debugger.Break 并观察您是否获得了有关似是而非的未处理异常的更多信息。在这种情况下,我们得到异常 wkernelbase.pdb not loaded
并且 Siddharth 发现它可以通过选择来修复:Tools->Options->Debugging->Symbols->Select "Microsoft Symbol Servers"
.
我想 Office 文件夹中有一个 {excel}.exe.config 文件。 .config 要求所有加载项使用 .NET 2.0(3.0、3.5)。
这可以解释问题:您使用 .NET 2.0(3.0、3.5),而调试器期望使用 .NET 4.0(4.X)。
是的,Add-in Express 是围绕 COM 插件技术而不是 VSTO 插件构建的。
今天我的客户告诉我一个有趣的情况。我确信这很简单,但似乎我无法理解它。从未遇到过这个问题,Google 帮助不大。
问题
在我客户的笔记本电脑上,加载项是使用 Add-in Express™ for Microsoft® Office and .net 创建的。 运行 加载项从 VS 时,断点不触发。我通过teamviewer登录。我们创建了一个新的测试项目(插件)并添加了这个简单的代码。
Private Sub AdxExcelAppEvents1_WorkbookOpen(sender As Object, hostObj As Object) Handles _
AdxExcelAppEvents1.WorkbookOpen
MessageBox.Show ("Hello World")
End Sub
我在AdxExcelAppEvents1_WorkbookOpen
和运行上设置了一个断点。我在打开新工作簿时收到消息,但断点没有触发。
我在我的笔记本电脑上测试了相同的代码,它工作得很好。
我和他都试过什么
- 注销、清理 + 重建、注册
- 手动清理 Debug 文件夹
- 正在修复 Add-In Express
- Uninstalling/ReInstalling 加载项快递
- 在框架 4.5 和 4.6、4.7.1 之间跳转
- 切换
Tools | Options | Debugging | General require source files to exactly match the original version
- 切换解决方案平台 (x86|64|AnyCPU)
应用程序
- Visual Studio 版本: 2019 Pro
- MS Office:2016 专业增强版 2016
如果您还需要什么,请告诉我?
仅供参考:这已交叉发布在 Add-in Express forum 我通常不交叉发布,但似乎我的客户压力很大,必须在星期一早上交付这个项目。
您可以使用 System.Diagnostics
中的方法 Debugger.Break 并观察您是否获得了有关似是而非的未处理异常的更多信息。在这种情况下,我们得到异常 wkernelbase.pdb not loaded
并且 Siddharth 发现它可以通过选择来修复:Tools->Options->Debugging->Symbols->Select "Microsoft Symbol Servers"
.
我想 Office 文件夹中有一个 {excel}.exe.config 文件。 .config 要求所有加载项使用 .NET 2.0(3.0、3.5)。
这可以解释问题:您使用 .NET 2.0(3.0、3.5),而调试器期望使用 .NET 4.0(4.X)。
是的,Add-in Express 是围绕 COM 插件技术而不是 VSTO 插件构建的。