From: http://blog.csdn.net/janssenkm/archive/2009/11/23/4859652.aspx
Vs2008 compiling arcengine on 64-bit Windows platform causes hresult: 0x80040154 (regdb_e_classnoregulatory) Error solution.Favorites
Vs2008 compiles arcengine (9.3sp1) in a 64-bit System (XP, Vista, and win7) and prompts when running:
No registration class (exception from hresult: 0x80040154 (regdb_e_classnoreg ))
Cause: arcengine9.3 does not support 64-bit native, but runs in 32-bit compatibility mode.
Solution: In the project properties, set "generate" => "Target Platform" to x86 instead of the default any CPU.
ESRI officially solves this problem:
Http://support.esri.com/index.cfm? Fa = KnowledgeBase. techarticles. articleshow & D = 33000
BUG: Error: class not registered (exception from hresult: 0x80040154 (regdb_e_classnoregulatory)
Article ID: |
33000 |
Bug ID: |
Nim007516 |
Software: |
ArcGIS Engine Runtime9.2, 9.3 |
Platforms: |
Windows2000, XP |
Descriptionrunning an application from Visual Studio 2005 on 64-bit computers, displays the following error message:
"Error: class not registered (exception from hresult: 0x80040154 (regdb_e_classnoregulatory )"
Causewhen running a Visual Studio Application, the default Common Language Runtime (CLR) platform in the Visual Studio is set to any CPU. this default must be changed on 64-bit computers to compile the assemblies with the 32-bit, x86 compatible CLR. workaroundchange the default platform target CPU to allow applications to run on 64-bit machines:
- Right-click on the solution in the Visual Studio Solution Explorer and open the Properties window.
- Click the compile tab: Visual Basic, or the build tab: Visual C #.
- For Visual Basic, click the Advanced tab.
- Select x86 as the target CPU (Visual Basic) or platform target (Visual C #).
- Rebuild the solution.
Created:5/4/2007
Last modified:10/30/2009