2012-02-27 26 views
2

64ビットOSの場合、C#アプリケーションはBeauGague ActiveXコントロール(www.beaugauge.com)を使用します。 enter image description here64ビットウィンドウでのActiveXコントロール

正常にコンパイルされますが、実行時にエラー "HRESULT:0x80040154(REGDB_E_CLASSNOTREG)"が表示されます。 問題を解決するにはどうすればよいですか?

+0

[x64でのHosting PreviewHandlersは、REGDB_E_CLASSNOTREGを提供します。](http://stackoverflow.com/questions/1374204/hosting-previewhandlers-on-x64-gives-regdb-e-classnotreg) – GSerg

+0

[ x64アプリケーションとActiveXコントロール](http://stackoverflow.com/questions/2282323/problem-with-x64-application-and-activex-control) –

答えて

4

Visual Studioは32ビットプログラムであるため、デザインモードで動作します。しかし、実行時ではなく、VS2008以前では、プロジェクトはAnyCPUをターゲットにして構築されています。 64ビットバージョンのWindowsで64ビットプロセスを取得できます。 32ビットDLLとしてしか使用できないActiveXコンポーネントはロードできません。

最近、開発者が開発に追いつくために多くのことをしたように見えません。回避策は簡単です:ソリューションエクスプローラウィンドウのプロパティ、コンパイルタブでEXEプロジェクトを右クリックします。プラットフォームのターゲット設定をx86に変更します。これにより、プログラムは常に32ビットプロセスとして実行されます。

+2

それは "rokaround"ではなく、ほとんどのソフトウェアが64ビットオフィスやスイートは32ビット(オフィスも64ビットですが、あなたが大嫌いな人はほとんど使わないでください - 大抵は大人でも重い人にも優秀です)という意味では意味がありません。利益はない。 – TomTom

関連する問題