2010-05-25 81 views
1

我们使用Scintilla.NET(1.7)组件开发WinForm应用程序,该组件使用SciLexer.dll(unamnaged)。在运行时,我们分发32位和64位SciLexer.dll,并且在应用程序启动时(一切正常)加载正确的。我们所有的解决方案的构建和运行都很好,但WinForm可视化设计器不会加载我们使用Scintilla.NET的表单/控件,因为它无法加载正确的SciLexer.dll:如何在Windows 7 64位上的Visual Studio 2008 Designer中加载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在哪里查找非托管库?我试图把64位SciLexer.dll放在SysWOW64中ScintillaNET.dll引用的文件夹中,在PATH系统变量中添加一个文件夹,在项目中添加一个文件夹引用,但我一直收到这个错误。

任何帮助表示赞赏。

回答

3

好吧,我想通了:我是在64位系统共小白,我想SysWow64文件夹中是为64位库:)

把32位SciLexer.dll在Syswow64资料奇迹般有效。

3

刚刚得到了同样的错误。您可以将这些dll的位置添加到PATH环境变量中(不要忘记重新启动您的VS以使更改生效),而不是使用您的操作系统文件夹。

相关问题