检索 COM 类工厂
我正在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这些问题的答案是是,那么只需将代码编译为 x86 而不是 x64(这是最可能的原因)并且它应该可以工作。
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.