添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1. 错误现象或描述

采用仪表编程一直采用自己的驱动和DLL文件,在Visual Studio 2022版本采用自己的类库文件出现下面错误:

System.Runtime.InteropServices.COMException  HResult=0x80040011  Message=HRESULT = 80040011  Source=<无法计算异常源>  StackTrace:<无法计算异常堆栈跟踪>

2. 原因分析

网上搜索了很多ComException的相关误差,基本的原因就是Window10安全性增加需要对DLL类库文件进行注册。

具体的操作请参考:

模块已加载,但找不到入口点DLLRegisterServer_longHARDEN的博客-CSDN博客

但是,经过上面一番操作还是不行。总是出现DLLRegisterServer找不到入口,所以又对该问题一顿操作。可以参考下面:

How to Fix “DLLRegisterserver Was Not Found” Error on Windows 10

经过上面所有操作后还是没有解决问题。重新对思路进行了梳理:利用了外部DLL文件——>Windows安全注册——>利用Windows自带的COM类重新创建DLL类库。问题解决。

3. 具体作法

在引用到搜索VISA COM库进行添加,直接using。要注意编译生成时所采用的.net架构,CPU设置必须统一。

4. 最后测试结果

生成创建后的DLL类库引用测试结果:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyDrive;

namespace MyDriveTest
{
internal class Program
{
static InstrumentDriver instr = new InstrumentDriver();
static string visaAddress = "TCPIP0::10.**.**.**::inst0::INSTR";
static int timeOut = 10000;
static void Main(string[] args)
{
instr.ConnectInstrument(visaAddress, timeOut);
string idn = instr.GetIDN();

Console.WriteLine("The instrument ID is '{0}'", idn);
Console.ReadLine();
}
}
}

System.Runtime.InteropServices. COM Exception (0x80040154)因为Encrypt Com .dll 没有注册解决办法:注册Encrypt Com .dll1.运行CMD,打开dos界面,并执行cd至根目录下2.执行Regsvr32 Encrypt Com .dll,成功后系统提示注册成功3.4. 报错详细信息:用户代码未处理 System.Runtime.In...
完美解决“换另一台电脑上用VS2008继续开发web项目时出现 “System.Runtime.InteropServices. COM Exception ”,然后是加载不了项目。” 只需要打开项目配置文件*.csproj,将True 改为 False,然后可以正常加载项目,接着重新配置为正常的IIS. 您可能感兴趣的文章:System.Data.SqlClient.Sql Exception : 无法打开登录所请求的数据库 登录失败。System.Data.SQLite 数据库详细介绍SQL Server出现Syst
System.Runtime.InteropServices. COM Exception (0x80010105): 服务器出现意外情况。 (异常来自 H RESULT :0x80010105 (RPC_E_SERVERFAULT))         出现此问题是 C# 调用Microsoft.Office.Interop.Excel 导出excel时提示此 错误 。         但是在安装36
http://www.jb51.net/article/17629.htm 完美解决“换另一台电脑上用VS2008继续开发web项目时出现“System.Runtime.InteropServices. COM Exception ”,然后是加载不了项目。”  只需要打开项目配置文件*.csp 在我们利用arcgis engine编写程序时,或多或少会利用GP工具,会感受到GP工具带来的方便,但是GP工具好像有的时候并不是那么听话。比如最近小白我在写arcgis engine时调用GP工具就遇到不知所以然的Bug。 接下来我会介绍GP工具使用过程中某种bug以及相应的处理方式。 下面这个现象是在gp工具的输入参数,调用格式没有 错误 的情况下出现的bug,如果你的参数和调...
1.Type : System.Runtime.InteropServices. COM Exception , mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : The handle is invalid. ( Exception from HRESUL...
这个 错误 通常表示你的代码在试图访问一个未注册的 COM 组件。这可能是因为你的代码尝试访问一个 COM 组件,但该组件并没有正确安装或注册在你的计算机上。 要解决这个问题,你需要确认以下几点: 1. 检查 COM 组件是否已正确安装并注册在你的计算机上。 2. 确认你的代码中使用的 COM 组件的版本和你的计算机上的版本是否一致。 3. 如果你的代码是以 x86 模式编译并运行的,但 COM 组件是以 x64 模式安装的,则会出现此 错误 。反之亦然。确保你的代码和组件都是以相同的模式运行。 4. 确认你的代码是否有足够的权限来访问 COM 组件。 5. 检查你的代码是否正确引用了 COM 组件,包括正确的命名空间和程序集引用。 如果以上方法都无法解决问题,你可以考虑卸载并重新安装 COM 组件,或者联系组件的开发者获取更多帮助。
CSDN-Ada助手: 非常感谢您的第四篇博客,标题看起来非常吸引人。您的内容对于对仪器仪表编程基础和概念感兴趣的读者来说肯定非常有用。我感到非常高兴,看到您持续创作,因为您的文章给我们带来了很多新的想法和知识。接下来,我希望您可以更深入地研究这个领域,探索更深层次的知识,分享给我们更多的见解。再次感谢您的辛勤劳动,期待您的下一篇作品! CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。 RDLC使用问题总结 CSDN-Ada助手: 不知道 MySQL入门 技能树是否可以帮到你:https://edu.csdn.net/skill/mysql?utm_source=AI_act_mysql