问题标签 [comexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
437 浏览

visual-studio - 生成 ClickOnce 清单时出现 COMException

在构建我的 WPF 项目期间,我有时会收到此错误:

没有语法错误,项目应该已经编译成功。有时清理/重建工作,其他时候重新启动 Visual Studio 就可以了。因此我确实有一个

我唯一可以隔离此问题的是 WPF(启动)项目的属性窗口的“安全”选项卡中的“启用 ClickOnce 安全设置”。

是的,必须生成 ClickOnce 部署的清单,但为什么会失败?COMException 及其 HRESULT 在每次构建尝试时都会更改它们的值。

我应该从哪里开始解决这个问题?

0 投票
3 回答
5015 浏览

c# - 在 Excel VSTO 中,如何检查工作表是否属于已关闭的工作簿?

如果我有一个引用Worksheet并且我关闭它的 parent Workbook,那么引用不会消失。但我不知道我应该如何检查以确保这些表不存在。检查null不起作用。

例子:

这是我尝试访问工作表时遇到的异常:

如果我可以检查工作簿删除事件,这甚至都不是问题,但 Excel 没有提供一个(这真的很烦人)。

有没有一些方便的方法来确保我不使用这些工作表?

0 投票
2 回答
2132 浏览

c# - Visio 页面按名称查找形状,无一例外

在 Visio VBA(或 COM API)中

当找不到形状名称时,如何在不期望异常的情况下获得形状?

...在我的 visio 页面中,可能有也可能没有名为“DraftText”的矩形形状。

我想检查它是否在那里,如果是的话,做某事。

我的代码看起来像:

问题是,如果形状“DraftText”不存在,我会得到一个 COM 异常。

因为我反对使用 try catch 块作为编码工具,

我正在寻找一种在使用之前检查形状存在的方法,例如 IDictionary.TryGetValue(, out);

或 if(page.Shapes.Contain("DraftText"))...

有任何想法吗?

0 投票
1 回答
374 浏览

automation - 在我的 Microsoft Lync 视频聊天应用程序中出现 COMException

我正在尝试在 Visual Studio 中开发一个与另一个人进行简单视频聊天的基本应用程序。一切正常,我能够成功打开视频聊天。但是,我已经安装了带有 UI 抑制的 Lync,并且该应用程序将无法运行。检查 InnerException 我可以看到程序正在抛出 COMException "Exception from HRESULT: 0x80C8000B"

通过消除过程,我发现注释掉该行auto = LyncClient.getAutomation()可以让应用程序运行,尽管应用程序的功能已经消失。

在我进行了所有在线搜索之后,我无法确定是什么原因导致这一行中断,而且我知道我需要那行代码才能继续前进。

0 投票
2 回答
2308 浏览

visual-studio - VSHost 崩溃,REGDB_E_INVALIDVALUE 加载特定项目

每当我在 Visual Studio 中加载一个将特定项目设置为启动项目的解决方案时,我都会遇到 VSHost32.exe 崩溃。如果我继续运行并启动应用程序,我会收到 COMException:

使用堆栈跟踪:

0 投票
3 回答
2499 浏览

dll - System.Windows.Forms.dll 中的 System.Runtime.InteropServices.COMException

我正在使用一个名为 wnvhtmlconvert 的 dll 组件从 html 生成 pdf。上周它正在工作,然后现在它只有在我调试时才开始收到 COMException。

输出错误如下:

System.Windows.Forms.dll 中发生“System.Runtime.InteropServices.COMException”类型的异常,并且在托管/本机边界之前未处理

附加信息:未知错误。

在另一台机器上,它在调试和发布时正常工作。

我已经尝试注册 wnvhtmlconvert.dll 但这不可能,因为它不能注册。

有什么建议吗?

0 投票
1 回答
2605 浏览

c# - Workbooks.Open 找不到文件,但路径正确

我正在为 Autodesk Inventor 构建一个 C# 插件。这是相关的唯一原因是因为我必须取消选中“注册 COM 互操作”框。

这是我正在使用的。xls 始终位于代码运行所在的同一目录中。我也尝试过使用绝对路径,但我得到了同样的错误。bool 仅用于测试,但它返回 true。该文件不是只读的。

我收到的错误消息:https ://dl.dropbox.com/u/46698764/cantFindFile.png 因为它说 COMException,我想我的问题可能是因为我未选中“注册 COM 互操作”框。如果是这种情况,有人可以推荐另一种打开工作簿的方法吗?

如果重要的话,我有 Excel 2010。

0 投票
1 回答
857 浏览

c# - Lync:成功调用 BeginStart 后,AVModality.VideoChannel 的 VideoWindows 为空(COMException HRESULT:0x80029C4A TYPE_E_CANTLOADLIBRARY)

我们目前正在尝试将 Lync 通信 (Lync SDK 2010) 合并到我们的应用程序中,但我们遇到了's的VideoWindows( CaptureVideoWindow, RenderVideoWindow) 的问题:它们始终为空,即使在成功调用. 连接肯定建立了。我们可以谈。我们自己的视频显示在远程 Lync 客户端中。是。从到到。AVModalityVideoChannelBeginStartAVModalityStateConnectedVideoChannelStateConnectingReceiveSend

我们何时以及如何尝试访问它们并不重要:直接在 之后BeginStart,在AsyncCallbackBeginStart,响应各种状态变化或响应外部触发(用户点击事件);在主/UI线程或事件/回调线程中。两个视频窗口始终为空。

在示例应用程序“%PROGRAMFILES%\Microsoft Lync\SDK\Samples\AudioVideoConversation”中,一切都按预期工作:一旦BeginStart完成,我们就可以访问非空视频窗口。在我们的小型独立原型项目中,它也可以工作。但在我们的实际应用中,它没有。

我们已经仔细检查了所有内容,对于可能导致此问题的原因我们真的已经没有想法了。

任何想法,任何提示?我们应该注意什么?

(链接到相应的 MSDN 论坛主题)

更新(2012 年 7 月 4 日,欧洲中部时间 15:46):

当我们查看 VideoChannel 的成员时,我们发现“Microsoft.Office.Uc”内部发生了 COMException:加载 DLL 时出错,HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)。附加截图中的更多细节。

显示异常的调试会话的屏幕截图

我们对此错误进行了一些研究,但没有发现任何对我们有用的东西。任何想法是什么导致异常?

更新(2012 年 7 月 9 日,欧洲中部时间 16:43):

我们做了一些进一步的测试......

我们的软件由一个主应用程序和许多通过MEF加载的类似插件的“应用程序”组成。我们创建了一个进行视频通话的最小测试应用程序:视频窗口不起作用(如预期的那样)。但是,当我们采用相同的代码并在我们的架构之外创建一个单独的解决方案时,它确实起作用了。所以,这是环境的问题,而不是代码的问题。

起初,我们怀疑 MEF 可能是问题所在。因此,我们将 lync 代码侵入到我们的主应用程序中 - 绕过了整个应用程序架构。还是行不通。

然后我们一点一点地切掉我们的整个系统,直到我们最终达到它确实可以工作的地步。经过几次错误的跟踪,我们终于找到了罪魁祸首...... Quartz.NET

出于某种奇怪的原因,仅仅存在对 Quartz.dll v.1.0.3.3 的程序集引用,即使没有一行 Quartz 代码,也会导致视频窗口无法工作。难以置信,但它是 100% 可重现的:如果我们采用前面提到的测试解决方案,除了添加参考之外什么都不做,它就会停止工作。

知道这样的事情怎么可能吗?

0 投票
1 回答
1777 浏览

c# - Access.DoCMD.RunSQL 错误上的 InteropServices.COMException

我在 Visual Studio 2010 中编写了一个小程序来打开一个 Access 数据库,在表中输入一个值,然后打开一个表单。非常简单,该程序在我的笔记本电脑上运行良好。

当我尝试在第二台 PC 上运行 exe 时出现问题。我无法在表格中输入值。两台电脑都可以用 Visual Studio 2010 打开项目就好了。我运行它时收到的错误是:

"System.Runtime.InteropServices.COMException (0x800A09C5):RunSQL 操作已取消。\r\n 在 Microsoft.Office.Interop.Access.DoCmd.RunSQL(Object SQLStatement, Object UseTransaction)\r\n 在 OpenGasAlarmSheet.Program。 \Program.cs:line 47 中的 Main(String[] args)"

我将一些参数传递到一个字符串中以获得等效的:

这是运行该 SQL 字符串的部分程序的代码:

我已经尝试修复这个错误大约一周了,但我完全陷入了困境。任何帮助将非常感激!!!

谢谢,克里斯


编辑:2012 年 7 月 18 日

这就是我所在的地方......

选项1:

结果是.....

PC #1:工作正常!

PC #2 & #3:错误(见下文)

"System.Runtime.InteropServices.COMException (0x8002801D):库未注册。(来自 HRESULT 的异常:0x8002801D (TYPE_E_LIBNOTREGISTERED))\r\n 在 Microsoft.Office.Interop.Access.ApplicationClass.CurrentDb()\r\n 在测试.Program.Main(String[] args) 在 \Program.cs:line 47"

选项 2:

结果是.....

PC #1:工作正常!

PC #2 & #3:错误(见下文)

"System.Runtime.InteropServices.COMException (0x800A09C5):RunSQL 操作已取消。\r\n 在 Microsoft.Office.Interop.Access.DoCmd.RunSQL(Object SQLStatement, Object UseTransaction)\r\n 在 OpenGasAlarmSheet.Program。 \Program.cs:line 47 中的 Main(String[] args)"

选项 3:

结果是.....

PC #1 & #3:错误(见下文)

"System.Runtime.InteropServices.COMException (0x8000FFFF):灾难性故障(来自 HRESULT 的异常:0x8000FFFF (E_UNEXPECTED))\r\n 在 Microsoft.Office.Interop.Access._CurrentProject.get_Connection()\r\n
在 Test.Program .Main(String[] args) 在 \Test\Program.cs:line 38"

PC #2:工作正常!!!

我不能让这个东西在多台电脑上工作。令人沮丧!:(

0 投票
2 回答
193 浏览

windows-phone-7 - 在 Application_Deactivated 上更新 LiveTile 是一个好习惯吗?

我没有使用后台代理来更新 LiveTiles。我在退出应用程序时更新磁贴并在Application_Deactivated.

这样做是一个好习惯吗?该应用程序已发布,并且我收到了带有 COMException 的 StackTrace。它表明在执行Microsoft.Phone.Shell.ShellTile.Update之后引发了异常XXX.App.Application_Deactivated

有谁知道这个例外或面临这种情况?如果有人可以指导我这将非常有帮助。