问题标签 [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.
c# - 发生 COMException:ErrorCode = -2147287036
我必须并行化一个应用程序;这个应用程序必须处理一个文件,我使用了任务,每个线程都在处理一行数据(以前它用于逐行处理)。问题是数据提供者使用某种缓存,并且在此过程中多次访问文件,因此使用一个数据提供者很难使其成为线程安全的,相反我每次都在新的数据提供者上创建一个线程正在处理一行。它在前几次运行中运行良好,但一段时间后用于访问文件的 COM 对象开始抛出以下错误:
发生 COMException:错误代码 = -2147287036
当我检查“2147287036”是“没有足够的资源打开另一个文件”的错误代码时。我确定我正在为数据提供者/COM 对象调用关闭/处置,所以我很难理解为什么我无法访问该文件(我有一个异常处理逻辑,试图在写入中打开文件模式,如果不成功,它会尝试以读取模式打开它,如果不成功,它会再次抛出异常,基本上就是上面提到的那个)。
我的第一个线索是 COM 对象不会立即释放文件句柄。但这仍然没有多大意义。
sharepoint-2010 - 第一次调用 SPWeb.GetListItem COMException - 第二个没问题
我正在尝试SPWeb.GetListItem()
通过已知 URL ( MSDN ) 获取项目。
所以基本上我正在做以下事情:
如果您想知道,我正在尝试获取文件夹“子文件夹”来处理它。
问题是我第一次调用这个时,我得到了一个 COMExpeption:
无法完成此操作。
请再试一次。
<nativehr>0x80004005</nativehr><nativestack></nativestack>
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.Runtime.InteropServices.COMException:无法完成此操作。
有一些关于 COMException 发生的 报告,因为您需要使用完整的相对站点 URL,所以/Lists/testList/Folder/SubFolder
您需要使用而不是 ,/sites/testSite/Lists/...
我正在这样做。我还尝试使用绝对 URL ( http://sharepoint/sites/...
)。问题仍然存在:第一次尝试获取 spListItem 时出现 COMException。
当我尝试在异常之后再次运行代码时,SPListItem 接收得很好。此外,所有后续调用都有效 - 只有第一个调用失败。
我是在做一些初始化错误或类似的事情吗?
windows - 自定义 Lync 客户端在启动时失败
我正在使用 Microsoft Lync 2010 API 编写自定义轻量级输入/输出板(AKA 状态、状态等)应用程序。它需要在启动/登录后运行,但我在启动/重新启动机器后登录时遇到了问题。LyncClient.GetClient
我从方法中得到以下错误
System.Runtime.InteropServices.COMException (0x800706BE):远程过程调用失败。(来自 HRESULT 的异常:0x800706BE)在 Microsoft.Lync.Model.LyncClient.GetClient() 的 Microsoft.Office.Uc.IUCOfficeIntegration.GetInterface(String _version, OIInterface _interface)
我的应用程序是从网络驱动器运行的 ClickOnce 应用程序。它仅在在线模式下可用。.application 文件是从从 netlogon 运行的批处理文件中调用的。如果我在我的计算机运行一段时间后运行批处理文件,它工作正常。LyncClient.GetClient
如果我注销然后重新登录,它也可以工作。因此,我假设调用该方法时所需的服务尚未启动。
vb.net - 使用 VB.Net 通过 Outlook 发送电子邮件时出现 COMException 未处理错误
我有以下代码向人们发送电子邮件,他们的详细信息是从数据库中检索的:
问题是,在它发送第一封电子邮件后,它给了我一个未处理的 COMException 错误,说明该项目已被移动或删除。这里有什么问题?
excel - 保持 Excel COM 对象处于活动状态
我目前正在使用Excel 2003 Interop机制来操作一些Ranges。
有时我将一些范围存储在我的addin中,作为类的属性,但是当我稍后尝试访问它们时,COM 对象有时是随机的、无效的,并且COM 对象的每个属性都会引发“ COMException ”当我尝试访问它们时。
我已经说过Excel分配的对象和插件正在使用的对象之间没有紧密的联系:因此Excel可以随时释放“真正的” Range 对象,即使从.Net/C#的角度来看我仍然参考他们。
所以,我想知道是否有任何方法可以让我的 Range 对象保持活动状态,以便以后以安全的方式使用它们?
备注:我可以使用一种解决方法,例如存储代表Ranges的字符串,例如“A1”,而不是Ranges本身,但这会使代码不那么干净。
在此先感谢您的帮助。
msbuild - MSBuild 远程处理服务器引发 COMException 错误
我有一个 MSBUILD 脚本,我在其中设置了用户名和密码属性,如下所示
这会引发以下错误:
COMException:由于以下错误,从机器 MYSERVER01 检索具有 CLSID {2B72133B-3F5B-4602-8952-803546CE3344} 的远程组件的 COM 类工厂失败:800706ba MYSERVER01
端口 135,445 已打开.... 事件日志显示“DCOM 无法使用任何配置的协议与计算机通信”
目前所有防火墙均已禁用。
任何指导将不胜感激。
c# - 如何在 Outlook 插件中处理 HRESULT?
基于这个 SO 答案:Catching COMException specific Error Code,我想知道,如果我只需要查看异常的特定部分,则可以跨操作系统和多个版本的 OL 正确处理 COMExceptions。例如,
这是否足够跨平台,还是只需要考虑错误代码的一部分?
编辑 - 澄清一下,我的确切问题是比较(uint)e.ErrorCode
是否0x80004004
过于具体(也就是说,无论 OS/OL 如何,我是否总是得到0x80004004
这个特定错误),或者这是否是做事的正确方法.
c# - System.Runtime.InteropServices.COMException
我收到以下错误:
无法创建类 TestProject.TestClass 的实例。错误:System.Runtime.InteropServices.COMException:找不到“D:\Automation\TestProject\OBJECT_DEFINITIONS.XLS”。检查文件名的拼写,并验证文件位置是否正确。如果您尝试从最近使用的文件列表中打开该文件,请确保该文件未被重命名、移动或删除。
错误堆栈跟踪:
Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名、对象 UpdateLinks、对象只读、对象格式、对象密码、对象 WriteResPassword、对象 IgnoreReadOnlyRecommended、对象来源、对象分隔符、对象可编辑、对象通知、对象转换器、对象 AddToMru , 对象本地, 对象 CorruptLoad)
TestProject.TestLibrary.GetObjectDeclarations(String sModule) 在 C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestProject\TestLibrary.cs: 第 133 行
TestProject.TestClass..ctor( ) 在 C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\TestProject\TestClass.cs:第 51 行
代码:
我想知道为什么D:\Automation\TestProject\OBJECT_DEFINITIONS.XLS
当我OBJECT_DEFINITIONS.XLS
存储在C:\
sql - Interop.SQLXMLBULKLOADLib.dll 的问题
我将一个旧的 dts 包转换为 SSIS 包并尝试在 Windows 2008 服务器上运行它。这个 SSIS 包运行一个 Win32 exe 文件,它使用Interop.SQLXMLBULKLOADLib.dll并试图将一些 XML 数据加载到数据库中。但是当这个exe被执行时我得到了以下错误。
COM 异常:检索具有 CLSID {8270CB2F-B0E6-4C37-8A40-D70778F47894} 的组件的 COM 类工厂失败,原因是以下错误:80040154。
我正在尝试在 Windows 2000 兼容模式下运行 .exe 文件。如果您有任何建议,请告诉我。
谢谢
nunit - WatiN、NUnit 和 CruiseControl.NET - 错误消息 800704a6
通过 CruiseControl.NET(作为服务)在 NUnit 中使用 WatiN 运行一组测试时,会出现以下错误:
这个错误一直是调试的噩梦,因为它不一致(发生 25% 的时间)并且不可重现。有没有人有类似的问题?