繁体   English   中英

如何在C#项目中使用Scintilla .NET?

[英]How to Use Scintilla .NET in C# Project?

我试图在项目中使用Scintilla .NET(我想要一个好的编辑器+语法高亮等)。 不幸的是,当我在项目中引用二进制文件时,我似乎无法实际使用Scintilla控件。 我得到两个不同的错误。

  1. 第一个发生在添加SciLexer.dll作为我的项目的引用时。 我收到一条消息: 无法添加对SciLexer.dll的引用。 请确保该文件是可访问的,并且它是有效的程序集或COM组件。

  2. 当我尝试使用ScintillaNET.dll中的控件时,会发生第二个错误。 如果我尝试将组件拖到表单中,我会收到以下消息:无法创建组件Scintilla。 错误消息如下:System.ComponentModel.Win32Exception:%1不是ScintillaNet.Scintilla.get_CreateParams()中的有效Win32应用程序

任何这些问题的帮助将不胜感激。 为了记录,我正在运行在64位Windows 7平台上运行的Visual Studio 2008。

谢谢。

自从我使用Scintilla以来已经有一段时间了,但我的理解是SciLexer.dll是一个完全原生的DLL,这就是为什么你不能从Visual Studio添加对它的引用。

相反,您应该“安排”SciLexer.dll在运行时出现在正确的目录中,以便ScintillaNET.dll可以加载它。 最安全的方法是将SciLexer.dll作为普通文件(而不是参考)添加到Visual Studio项目中,然后更改文件的属性,以便在构建项目时将其复制到输出目录。

鉴于你是64位,我希望你需要专门构建你的应用程序32位而不是AnyCPU 正如我所说,自从我这样做已经有一段时间了,但是当我这样做时,Scintilla只有32位二进制文​​件。

我通过将文件复制到C:\\Windows\\SysWOW64

从@weston的帖子中得到了这个想法。

我使用ScintillaNET(C#端口)。 它易于使用,但它是一种记忆力。

https://github.com/jacobslusser/ScintillaNET

在此输入图像描述

单击RUN并选择MyComputer右键单击MyComputer转到属性,然后单击高级系统设置。

之后,选择Advanced并单击Environment Variables。

在这里我们可以添加值和路径。

价值:你喜欢什么“例如:Scintilla

值路径:下载的dll保存的位置。“EG:D:\\ prathap \\ DLL \\

下载路径: https//scintillanet.codeplex.com/releases

从屏幕右侧选择下载。

然后在应用程序中添加Scintill Dll作为参考,将其他2 dll添加为现有文件。

右键单击项目ADD - Addexisting files - 然后从本地系统中选择文件,并确保保留2个文件“Copy to Output directory = Copy Always。

然后运行它将起作用的应用程序。

我添加了对Scintilla.dll而不是SciLexer.dll的引用 - 它有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM