为了尝试确认另一个SO海报建议在winforms窗口上托管的ActiveX控件中进行密钥处理,我尝试制作一个简单的MFC ActiveX控件,然后将其放在Windows窗体上 . 在设计时,控制显示没有麻烦 .
在运行应用程序时,可怕的“Class not registered exception” . 出现对话框 .
这两个项目都在VS 2008中.Winforms应用程序是一个.Net 3.5框架应用程序 .
我试过通过调试器,从资源管理器(两种情况下提升的特权)运行,似乎没有任何工作 . 我甚至确保用64位和32位regsvr32可执行文件手动注册OCX .
这让我感到困惑,因为我不希望这不会运行 . 我在工作中做了类似的实验(32位Windows XP盒子),没有任何麻烦 .
我的VS配置如下:
-
Microsoft Visual Studio 2008
-
版本9.0.30729.1 SP
-
Microsoft .NET Framework
-
版本3.5 SP1
最令人困惑的是ActiveX控件似乎出现在设计时 . 任何答案,建议或想法将不胜感激 .
1 回答
我需要将.Net主机的输出更改为x86而不是“Any Platform” . 这是必需的,因为应用程序正在JITTED到未编译ActiveX控件的x64 . D'哦!更改为ActiveX主机项目后,应用程序运行正常 .