从错误信息思考一个问题:.NET Framework 与 COM/COM+ 到底有多深入的关联呢?

matlab kwave模拟超声换能器学习笔记 kwave模拟超声换能器的学习笔记,从零开始造车轮 阅读详情

今天
针对2个程序文件,用csc压了一个multi-file Assembly,发现了一个问题:

(1) SumNumber.cs,编译为 SumNumber.netmodule

csc /target:module /out:bin/Debug/SumNumber.netmodule SumNumber.cs


(2) Program.cs,编译为 MyConsole.exe,作为程序执行文件

csc /target:exe /addmodule:bin/Debug/SumNumber.netmodule /out:bin/Debug/MyConsole.exe Progarm.cs


这样执行是没有问题的!

然后我把SumNumber.netmodule删除掉,再次执行MyConsole.exe,出现了下面的错误:

未处理的异常:  System.IO.FileNotFoundException: 未能加载文件或程序集“SumNumberM
odule.netmodule”或它的某一个依赖项。系统找不到指定的文件。
文件名:“SumNumberModule.netmodule” ---> System.IO.FileNotFoundException: 系统
找不到指定的文件。 (异常来自 HRESULT:0x80070002)
   在 MySolution.Program.Main(String[] args)


眼瞅见 FileNotFoundException 倒没有什么,可是看到HRESULT就有点让我迷惑了:难道这里引发异常的根源是一个COM对象产生的?

问题来了:.NET Framework 与 COM/COM+ 到底有多深入的关联呢?

先做个标记,这几天研究一下...

======================================================
资料,From MSDN :
HRESULT .NET 例外狀況

MSEE_E_APPDOMAINUNLOADED

AppDomainUnloadedException

COR_E_APPLICATION

ApplicationException

COR_E_ARGUMENT 或 E_INVALIDARG

ArgumentException

COR_E_ARGUMENTOUTOFRANGE

ArgumentOutOfRangeException

COR_E_ARITHMETIC 或 ERROR_ARITHMETIC_OVERFLOW

ArithmeticException

COR_E_ARRAYTYPEMISMATCH

ArrayTypeMismatchException

COR_E_BADIMAGEFORMAT 或 ERROR_BAD_FORMAT

BadImageFormatException

COR_E_COMEMULATE_ERROR

COMEmulateException

COR_E_CONTEXTMARSHAL

ContextMarshalException

COR_E_CORE

CoreException

NTE_FAIL

CryptographicException

COR_E_DIRECTORYNOTFOUND 或 ERROR_PATH_NOT_FOUND

DirectoryNotFoundException

COR_E_DIVIDEBYZERO

DivideByZeroException

COR_E_DUPLICATEWAITOBJECT

DuplicateWaitObjectException

COR_E_ENDOFSTREAM

EndOfStreamException

COR_E_TYPELOAD

EntryPointNotFoundException

COR_E_EXCEPTION

Exception

COR_E_EXECUTIONENGINE

ExecutionEngineException

COR_E_FIELDACCESS

FieldAccessException

COR_E_FILENOTFOUND 或 ERROR_FILE_NOT_FOUND

FileNotFoundException

COR_E_FORMAT

FormatException

COR_E_INDEXOUTOFRANGE

IndexOutOfRangeException

COR_E_INVALIDCAST 或 E_NOINTERFACE

InvalidCastException

COR_E_INVALIDCOMOBJECT

InvalidComObjectException

COR_E_INVALIDFILTERCRITERIA

InvalidFilterCriteriaException

COR_E_INVALIDOLEVARIANTTYPE

InvalidOleVariantTypeException

COR_E_INVALIDOPERATION

InvalidOperationException

COR_E_IO

IOException

COR_E_MEMBERACCESS

AccessException

COR_E_METHODACCESS

MethodAccessException

COR_E_MISSINGFIELD

MissingFieldException

COR_E_MISSINGMANIFESTRESOURCE

MissingManifestResourceException

COR_E_MISSINGMEMBER

MissingMemberException

COR_E_MISSINGMETHOD

MissingMethodException

COR_E_MULTICASTNOTSUPPORTED

MulticastNotSupportedException

COR_E_NOTFINITENUMBER

NotFiniteNumberException

E_NOTIMPL

NotImplementedException

COR_E_NOTSUPPORTED

NotSupportedException

COR_E_NULLREFERENCE 或 E_POINTER

NullReferenceException

COR_E_OUTOFMEMORY 或

E_OUTOFMEMORY

OutOfMemoryException

COR_E_OVERFLOW

OverflowException

COR_E_PATHTOOLONG 或 ERROR_FILENAME_EXCED_RANGE

PathTooLongException

COR_E_RANK

RankException

COR_E_REFLECTIONTYPELOAD

ReflectionTypeLoadException

COR_E_REMOTING

RemotingException

COR_E_SAFEARRAYTYPEMISMATCH

SafeArrayTypeMismatchException

COR_E_SECURITY

SecurityException

COR_E_SERIALIZATION

SerializationException

COR_E_STACKOVERFLOW 或 ERROR_STACK_OVERFLOW

StackOverflowException

COR_E_SYNCHRONIZATIONLOCK

SynchronizationLockException

COR_E_SYSTEM

SystemException

COR_E_TARGET

TargetException

COR_E_TARGETINVOCATION

TargetInvocationException

COR_E_TARGETPARAMCOUNT

TargetParameterCountException

COR_E_THREADABORTED

ThreadAbortException

COR_E_THREADINTERRUPTED

ThreadInterruptedException

COR_E_THREADSTATE

ThreadStateException

COR_E_THREADSTOP

ThreadStopException

COR_E_TYPELOAD

TypeLoadException

COR_E_TYPEINITIALIZATION

TypeInitializationException

COR_E_VERIFICATION

VerificationException

COR_E_WEAKREFERENCE

WeakReferenceException

COR_E_VTABLECALLSNOTSUPPORTED

VTableCallsNotSupportedException

所有其他 HRESULT

COMException


【绝对要收藏-优秀论文范文】高项-度量绩效域 摘要:本文基于某水库数字孪生平台建设项目(2022.9-2023.5,645.97万元)的管理实践,从信息系统度量绩效域角度展开论述。项目构建了包含防洪调度等6大子系统的数字平台,实现洪水"四预"功能。重点分析了度量绩效域的五大要点:制定有效指标(如成本±8%偏差阈值)、维数据采集、预警临界值设定、基于趋势的主动干预和持续改进机制。特别阐述了绩效问题的诊断方法,包括设备采购全周期成本分析、阶段性成本报告制度等。项目状态展示采用三维可视化看板,集成进度、成本、质量等维度实时数据,最终实 阅读详情

相关推荐

System.MissingMethodException(解决方案).md

项目中碰到的,记录一下解决方案

System.MissingMethodException问题该怎么解决?

我在软件开发过程中,在一个exe项目中,引用了另一个dll,执行过程中发生System.MissingMethodException问题,程序执行不下去。判断原因是某个mothod没有找到,但是这个method我明明已经写到新的dll里面去了。这是怎么回事呢?      后来经过检查,发现exe文件所引用的这个dll是老版本,确实没有这个method;而新版本的dll在另一个地方,并没

gaoleionline的专栏 1万+

cad插入图像插件.zip

打开cass,键入appload ,找到GeoRefImg.VLX,加载进去,然后插入光栅图像,随意放一个位置,然后键入GEOREFIMG,选中图像,空格,图像可以自动归到正确位置

【gradle】Caused by: groovy.lang.MissingMethodException: No signature of method的解决方案和检查方法

【gradle】Caused by: groovy.lang.MissingMethodException: No signature of method的解决方案和检查方法,记录一下踩坑过程

HanLiangJ的博客 3万+

C#出现 System.MissingMethodException: 找不到方法的解决方案

Jeffrey侠客 3301

DLL引用报错没有找到(dllnotfound)或加载不正确格式(badimageformat),以及项目情况下引用问题

1.搭建了一个winform项目,需引用SDK文件 2.项目调试时后报错无法找到DLL模块。 图中c:\termb.dll是为了显示报错信息故意加的错误路径。实际报错时如果你引用了路径那么会显示路径信息,反之显示的是DLL名称。 3 .DLL引用可以选择项目—添加引用 或者通过图1的 [ DllImport()]方式导入。区别在于该DLL文件是否是由.NET平台编译的。如果是则可以用直接添加引...

as1043682467的博客 3937

BadImageFormatException异常

访问页面时,抛出BadImageFormatException异常: 1.如果您的应用程序使用了 32 位组件,请确保该应用程序始终采用 32 位应用程序的运行方式。 如果应用程序项目的“平台目标”属性设置为 AnyCPU,则编译后的应用程序在 64 位或 32 位模式中均可运行。如果采用 64 位应用程序运行方式,则实时 (JIT) 编译器便会生成 64 位本机代码。如果应...

weixin_33694172的博客 2355

本地mysql 忘记root密码解决秘决

不知咋地,本地数据库的mysql密码忘记了,网上了搜了一大堆,终于找到解决起来相当简单的方法,我是直接用了其中第二种方法解决的,在此记一下,方便以后使用 网站建设:http://www.ucantech.com/ 1.使用mysqladmin修改mysql密码 C:\>mysqladmin -udbuser -p password newpass Enter password: o...

iteye_1930的博客 134

MySQL忘记root密码和修改root密码的解决方法

使用MySQL实验时,有时我们会忘记root用户的密码或者需要修改密码。本篇博客将介绍在不同版本的MySQL中,如何解决忘记root密码的问题并修改root用户密码。PS:以下操作,均使用mysql服务器直接连接。

爱意随风起,人生不可弃。 1万+

【MySQL】忘记了root用户密码如何重置

MySQL是当前被广泛使用的关系型数据库,同时也是初学开发的程序员们最适合入门学习的一门数据库。MySQL需要设置root用户的密码,用于验证登录数据库服务器,但往往可能由于各种原因导致忘记了该密码,于是就有了本次分享的内容,在本地(localhost)重置MySQL数据库root密码的方法。

weixin_48927364的博客 1万+

MySql的root密码忘记该怎么找回

Windows 下如果MySQL密码忘记了root密码导致无法登录,如下图所示, 这个时候怎么办,只能重置root密码了。 1.打开任务管理器查看MySql服务是否启动,如果已启动则先将其停止 2.找到MySql目录下的my.ini文件 3.打开该文件,找到里面的[mysqld],然后在这个下面添加skip-grant-tables,添加完后保存文件 4.重新进到任务管理器将MySQL服务启动起来 5.以管理员身份运行cmd 注意这里必须以此方式用管理员身份运行cmd,不能用win+R输入cmd运

web18224617243的博客 8304

MySQL忘记root密码解决方法

CentOS下MySQL忘记root密码解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到...

山人甲 Python博客 3722

Mysql忘记root密码怎么解决

1. 首先确认服务器处于安全的状态,因为设置skip-grant-tables后Mysql数据库用户登录将跳过权限表的加载,可以任意地登录和修改MySQL的信息。 2.修改Mysql数据库 my.cnf 配置 # vi/etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables ,保存并且退出; [mysqld] ...... ...

千里冰封 5781

忘记MySQL root密码如何解决

我在开发过程中碰到了一个说来也是很无语的问题 我把 MySQL root用户的密码给忘了。。。 当时试了好密码都不合适,所以我索性去百度怎么解决这个问题 然后果然找到了,特此记录如下: 首先 cd 到mysql安装目录下的bin目录 在这里进入cmd,然后键入 mysqld --skip-grant-tables # 让mysql跳过权限检查 然后再win+r打开另外一个cmd窗口 my...

星云随风 倚码为诗 1万+

Windows下mysql忘记root密码的解决方法

原因:Mysql版本在5.7及以下时,mysql数据库下面已经没有password这个字段了,password字段改成了authentication_string ,但思路是不变的,即通过语句直接在mysql数据库里修改密码字段。安装mysql5.7+版本时,若发现因根目录下,缺少data文件夹的情况,打开cmd命令窗口,并且进入到MySQL安装目录中的bin目录,输入以下命令。执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空。

qq_45701000的博客 3442

MySQL忘记root密码解决办法

Linux MySQL root 密码忘记了如何操作 如果使用 MySQL 数据库忘记了账号密码,可以通过调节配置文件,跳过密码的方式登数据库,在数据库里面修改账号密码,一般默认的账号为 root 1、编辑 MySQL 配置文件 my.cnf 输入以下命令: vim /etc/my.cnf //注意: 以实际 my.cnf 配置文件路径为准 找到[mysql],并在其后面增加一行...

记录时间带走的东西 4808

MySQL初始化root密码以及root密码忘记解决方法

MySQL初始化root密码以及root密码忘记解决方法 一、MySQL初始化root密码 mysql默认root用户没有密码,输入mysql –u root 进入mysql 1、进入mysql数据库 use mysql; 2、初始化root密码 mysql>update user set password=PASSWORD(‘123456’) where User=‘root’; (补充:授权请戳这里) 二、root密码忘记解决方法(Windows环境) 1、确保MySQL服务停止 例如,在DOS窗

seaship的博客 2003

在Linux环境下mysql的root密码忘记解决方法

因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复。4.登录并修改MySQL的root密码。

G11176593的博客 3848

MySQL 5.5 忘记root密码怎么办

首先 (1)以管理员身份运行cmd命令, >>net stop mysql (2) 运行mysqld --skip-grant-tables 命令 这样会让mysql跳过权限检查。 (3)以管理员身份再运行另外一个cmd命令, 将cmd命令 切换到安装目录中bin中 (4)再输入mysql (5)再输入 use mysql (6)...

qq_37453201的博客 3891

XAMPP Mysql 忘记root密码解决方案

研究了很久,在网上找了很久,终于解决了 马有失前蹄日,人有忘密码时,网上冲浪,到处都是用户名和密码,密码一总有忘记一两个的时候 对于本地的本地的phpMyAdmin,忘记登录密码怎么办哪?看看下文,能省去你不少时间和精力。 首先进入DOS,开一个cmd c:\>sc stop mysql 进到目录里面 cd C:\xampp\mysql\bin 解释一下 C:\xampp\mysql\

thatkrisyang 6765

MySQL初始密码 设置root密码和忘记密码的处理

安装完MySQL数据库之后,默认的管理员root密码为空,这很不安全。因此需要为root用户设置一个密码。如下图查询之后为空。 1、为root用户设置密码 进入mysql数据库:use mysql; 更改root用户密码: update user set password=password(‘song123’) where user=root; 退出: exit; 注意:如上操作是不会生效的,再用...

zhangasas的博客 3925
上一篇: 蚊子、DC死掉、被call起来、UAC,依旧是一个不眠之夜!
下一篇: 周末DIY,三花聚顶,练就静音功夫!
风中飘扬的柳絮
博客等级 码龄25年 268粉丝 154原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值