检索 COM 类工厂

发布于 2024-12-04 19:59:12 字数 1147 浏览 0 评论 0原文

我正在 VSS 2010 、.Net 4.0 和 Widows 7(64 位)上构建一个应用程序。

我正在使用第三方组件来加密和解密密码。

我在我的应用程序中引用了第三个 paty dll 并编写了代码。

当我尝试在集成 VSS Web 服务器上运行时,出现以下错误:

System.Runtime.InteropServices.COMException(0x80040154):正在检索 具有 CLSID 的组件的 COM 类工厂 {B72DF070-28A4-11D3-BF19-009027438003} 由于以下原因失败 错误:80040154 类未注册(HRESULT 异常: 0x80040154(REGDB_E_CLASSNOTREG))。在 System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,布尔值 publicOnly、Boolean noCheck、Boolean&可以缓存, RuntimeMethodHandleInternal& ctor,布尔运算& bNeedSecurityCheck)位于 System.RuntimeType.CreateInstanceSlow(布尔 publicOnly, 布尔 SkipCheckThis,布尔值 fillCache) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, 布尔值skipVisibilityChecks、布尔值skipCheckThis、布尔值 fillCache) 在 System.Activator.CreateInstance(Type 类型,布尔值 非公共)在 System.Activator.CreateInstance(类型类型)在 EncryptProject.HashString.hashstring(字符串密码,字符串pwsalt)

但是当我将这些代码 dll 移动到生产服务器时它工作正常。

我在互联网上搜索并得到了一些建议,将目标平台更改为x86,x64...

我尝试了所有可能的方法,但没有用。

如果有人帮助我解决这个问题,那就太好了。

这样我就只能在本地系统中调试我的应用程序。

预先感谢,

问候..

I am building an application on VSS 2010 ,.Net 4.0 and Widows 7(64 bit).

I am using a 3rd party component for encryption and decryption of passwords.

I referenced to the 3rd paty dll in my application and wrote the code.

When I am trying to run on my integrated VSS web server,it is giving the following error,

System.Runtime.InteropServices.COMException (0x80040154): Retrieving
the COM class factory for component with CLSID
{B72DF070-28A4-11D3-BF19-009027438003} failed due to the following
error: 80040154 Class not registered (Exception from HRESULT:
0x80040154 (REGDB_E_CLASSNOTREG)). at
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean
publicOnly, Boolean noCheck, Boolean& canBeCached,
RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean
skipCheckThis, Boolean fillCache) at
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,
Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean
fillCache) at System.Activator.CreateInstance(Type type, Boolean
nonPublic) at System.Activator.CreateInstance(Type type) at
EncryptProject.HashString.hashstring(String password, String pwsalt)

But it is working fine when I move these code dlls to the Production server.

I searched through the Internet and got some suggestions to change the target to platform to x86,x64...

I tried in all the possible ways but no use.

It would be great if some one helps me in solving this problem.

So that I can debug my application in the local system only.

Thanks in advance,

Regards..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不及他 2024-12-11 19:59:12
  1. 你的服务器是 x86 机器吗?
  2. 这个第三部分 COM 服务器是否编译为 x86 ?

如果这些问题的答案是,那么只需将代码编译为 x86 而不是 x64(这是最可能的原因)并且它应该可以工作。

  1. Is your server an x86 machine?
  2. Is this 3rd part COM server compiled as x86 ?

If the answer to these questions is a yes then just compile your code as x86 instead of x64 (that's the most likely cause) and it should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文