Как загрузить SciLexer.dll в Visual Studio 2008 Designer в 64-разрядной версии Windows 7?

Мы разрабатываем приложение WinForm с использованием компонента Scintilla.NET (1.7), в котором используется SciLexer.dll (без изменений). Во время выполнения мы распространяем 32-битный и 64-битный SciLexer.dll и загружаем правильный файл при запуске приложения (все работает нормально).

В наших новых средах разработки (Windows 7 64-bit) все наши решения создаются и работают нормально, но визуальный дизайнер 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 ищет неуправляемые библиотеки? Я попытался поместить 64-битный файл SciLexer.dll в SysWOW64, в папку, на которую ссылается ScintillaNET.dll, добавив папку в системную переменную PATH, добавив ссылку на папку в проект, но я продолжаю получать эту ошибку.

Любая помощь приветствуется.

2 ответа

Хорошо, я понял это: я - полный нуб на 64-разрядных системах, и я думал, что папка SysWOW64 была для 64-разрядных библиотек:)

Помещение 32-битного SciLexer.dll в SysWOW64 работает как шарм.

Просто получил ту же ошибку. Вместо того, чтобы связываться с папками вашей ОС, вы можете добавить расположение этих библиотек в переменную среды PATH (не забудьте перезапустить VS, чтобы изменения вступили в силу)

Другие вопросы по тегам