SciLexer.dll (管理されていない) を使用する Scintilla.NET (1.7) コンポーネントを使用して WinForm アプリケーションを開発します。実行時に、32 ビットと 64 ビットの両方の SciLexer.dll を配布し、アプリケーションの起動時に正しいものをロードします (すべて正常に動作します)。
新しい開発環境 (Windows 7 64 ビット) では、すべてのソリューションが正常にビルドおよび実行されますが、WinForm ビジュアル デザイナーは Scintilla.NET を使用するフォーム/コントロールをロードしません。これは、正しい SciLexer.dll をロードできないためです。
Window class name is not valid.
at System.Windows.Forms.NativeWindow.WindowClass.RegisterClass()
at System.Windows.Forms.NativeWindow.WindowClass.Create(String className, Int32 classStyle)
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.get_Handle()
at Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg, IntPtr wParam, IntPtr lParam)
at Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg)
at Scintilla.ScintillaControl.get_CodePage()
at Scintilla.ScintillaControl..ctor(String sciLexerDllName)
at Scintilla.ScintillaControl..ctor()
Visual Studio 2008 はアンマネージ ライブラリをどこで検索しますか? ScintillaNET.dllが参照されているフォルダーのSysWOW64に64ビットのSciLexer.dllを配置し、PATHシステム変数にフォルダーを追加し、プロジェクトにフォルダー参照を追加しようとしましたが、このエラーが引き続き発生します。
どんな助けでも大歓迎です。