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助手:
RDLC使用问题总结
CSDN-Ada助手: