您的位置:首页 > 其它

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

2008-03-11 16:56 423 查看
今天针对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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐