Interop.MSXML2抛出异常,因为它没有注册但是WONT REGISTER!

aar*_*ona 1 c# com msxml dllregistration

好的,这行代码:

XMLHTTP40 http = new XMLHTTP40();
Run Code Online (Sandbox Code Playgroud)

抛出System.Runtime.InteropServices.COMException并抱怨:

由于以下错误,检索具有CLSID {88D969C5-F192-11D4-A65F-0040963251E5}的组件的COM类工厂失败:80040154.

我用Google搜索了,我猜DLL需要注册,因为它是一个COM DLL.这很好,但是当我尝试注册它时,我收到此错误:

C:\ some\directory\path\etc\Interop.MSXML2.dll已加载,但未找到DllRegisterServer入口点.
此文件无法注册.

显然这是在另一个人的盒子上工作(他写了代码,所以是啊..:P).这个COM对象没有显示在我的可用COM引用列表中,所以我只引用位于项目的bin\Debug目录中的DLL.当我将对此DLL的引用添加到我的项目时,我可以访问VisualStudio中的所有符号.我想知道,有什么东西我可以安装注册DLL并让它出现在我可以参考的COM对象列表中吗?我安装了我认为的MSXML 4.0库,但当我查看目录时,那里没有任何东西.

有任何想法吗?

Ant*_*nes 5

您需要在盒子上安装MSXML4才能使其正常工作.interop dll不包含任何运行时代码,它只能帮助.NET与MSXML4通信.

但是,为什么不使用System.Xml命名空间而不是使用COM组件?