Подтвердить что ты не робот

Как использовать Scintilla.NET в проекте С#?

Я пытаюсь использовать Scintilla.NET в проекте (хочу хороший редактор + подсветка синтаксиса и т.д.). К сожалению, когда я ссылаюсь на двоичные файлы в своем проекте, я не могу использовать элементы управления Scintilla. Я получаю две разные ошибки.

  • Первое происходит при добавлении SciLexer.dll как ссылка на мой проект. Я получаю сообщение, в котором говорится: Ссылка на SciLexer.dll может не добавляется. Убедитесь, что файл доступен, и что это действительная сборка или COM-компонент.

  • Вторая ошибка возникает, когда я пытаюсь использовать элементы управления из ScintillaNET.dll. Если я попытаюсь перетащить компонент в форму, я получаю следующее сообщение: Не удалось создать компонент Scintilla. Появится сообщение об ошибке: System.ComponentModel.Win32Exception:% 1 не является допустимым приложением Win32 в ScintillaNet.Scintilla.get_CreateParams()

Любая помощь с любой из этих проблем была бы высоко оценена. Для записи я запускаю Visual Studio 2008, работающую на 64-битной платформе Windows 7.

Спасибо.

4b9b3361

Ответ 1

Прошло немного времени с тех пор, как я использовал Scintilla, но я понимаю, что SciLexer.dll является полностью родной DLL, поэтому вы не можете добавить ссылку на него из Visual Studio.

Вместо этого вы должны "организовать", чтобы SciLexer.dll отображался в правильном каталоге во время выполнения, чтобы его можно было загрузить с помощью ScintillaNET.dll. Самый безопасный способ сделать это - добавить SciLexer.dll в проект Visual Studio в виде простого файла (а не как ссылку), а затем изменить свойства файла, чтобы он был скопирован в выходной каталог при создании вашего проекта.

Учитывая, что вы на 64-битном уровне, я ожидаю, что вам нужно создать ваше приложение именно как 32-битное, а не AnyCPU. Как я уже сказал, прошло некоторое время с тех пор, как я это сделал, но когда я это сделал, у Scintilla были только 32-битные двоичные файлы.

Ответ 2

Я обошел проблему, скопировав файлы на C:\Windows\SysWOW64

Получил идею из поста @weston.

Ответ 4

введите описание изображения здесь

Нажмите "RUN" и выберите "MyComputer". Щелкните правой кнопкой мыши "MyComputer". Нажмите "Дополнительные параметры системы".

После этого выберите "Дополнительно" и щелкните "Переменные среды".

Здесь мы можем добавить значение и путь.

Значение: что вам нравится "Например: Scintilla

Путь значений: где загруженная DLL сохранена. "EG: D:\prathap\DLL\

Путь загрузки: https://scintillanet.codeplex.com/releases

Выберите загрузки с правой стороны на экране.

Затем в приложении добавьте Scintill Dll в качестве ссылочной и других 2 dll в качестве существующих файлов.

Щелкните правой кнопкой мыши по проекту ADD - добавьте файлы - затем выберите файлы из локальной системы и убедитесь, что вы сохранили два файла "Копировать в каталог вывода = Копировать всегда".

Затем запустите приложение, в котором он будет работать.

Ответ 5

Я добавил ссылку на Scintilla.dll вместо SciLexer.dll - и он работал