首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >c# OPC自动化提供80040154

c# OPC自动化提供80040154
EN

Stack Overflow用户
提问于 2012-02-21 03:25:34
回答 2查看 13.6K关注 0票数 4

我是一名.Net开发人员。OPC新手。当我尝试一些OPC客户端的示例时,所有的示例都给出了这个错误。看起来DLL似乎没有注册。但我不知道如何注册,也不知道在哪里注册。

代码语言:javascript
复制
error: retrieving the COM class factory for component with CLSID failed due to the following error: 80040154

就连我都试过了

代码语言:javascript
复制
regsvr32 Interop.OPCAutomation.dll", 

但是它也会抛出错误,比如

代码语言:javascript
复制
The module "Interop.OPCAutomation.dll" was loaded but the entry-point DllRegisterServeer was not found.
Make sure that "Interop.OPCAutomation.dll" is a valid DLL or OCX file and then try again.

我已经浏览了这么多现有的论坛。他们中的许多人说要将平台目标更改为x86,但我仍然遇到同样的问题。仅供参考,我只能在项目属性的Build选项卡的顶部看到Platform选项中的'Active (Any CPU)‘。

以下是我的环境详细信息:

代码语言:javascript
复制
.Net 2005
OPCAutomation Weapper
Windows 7 64-bit OS
Dell Inspiron 1525 (I hope this is not a 64bit machine, but my engineer installed 64bit OS somehow).

请帮帮我。

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2012-09-05 19:43:52

以防有人正在处理这个问题(就像我最近所做的那样)我挺过来了!过了一段时间,我发现它是关于在64位机器上运行的.NET框架的。只要the.NET应用程序只能与32位CLR一起工作,我们就必须将.NET框架设置为在WOW模式下加载CLR。要执行此操作,请键入:

代码语言:javascript
复制
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe SetWow

在此之后,您应该能够运行应用程序。

您可以通过键入以下命令返回并恢复以前的.NET框架:

代码语言:javascript
复制
C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Ldr64.exe Set64
票数 5
EN

Stack Overflow用户

发布于 2012-02-21 04:13:34

您收到的错误很可能是由于OPC服务器没有正确注册造成的。确保它已注册(通常通过在命令行中使用"/regserver“或"/service”参数运行它)。还可能存在安全问题,在这种情况下,您必须运行'dcomcnfg‘(DCOM Config)以确保客户端可以访问服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9367167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档