Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C项目中使用闪烁.NET?_C#_.net_Visual Studio_Scintilla - Fatal编程技术网

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

C# 如何在C项目中使用闪烁.NET?,c#,.net,visual-studio,scintilla,C#,.net,Visual Studio,Scintilla,我试图在一个项目中使用斯金特拉.NET,我想要一个好的编辑器+语法高亮显示等等。不幸的是,当我在我的项目中引用二进制文件时,我似乎无法实际使用斯金特拉控件。我有两个不同的错误 第一种情况发生在添加 SciLexer.dll作为对我的 项目我收到一条信息说: 对SciLexer.dll的引用可能会失败 不可添加。请确保 文件是可访问的,并且它是 有效的程序集或COM组件 第二个错误发生在我尝试使用闪烁网.dll中的控件时。如果我尝试将组件拖到表单中,我会收到以下消息:未能创建组件闪烁。错误消息如下

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

第一种情况发生在添加 SciLexer.dll作为对我的 项目我收到一条信息说: 对SciLexer.dll的引用可能会失败 不可添加。请确保 文件是可访问的,并且它是 有效的程序集或COM组件

第二个错误发生在我尝试使用闪烁网.dll中的控件时。如果我尝试将组件拖到表单中,我会收到以下消息:未能创建组件闪烁。错误消息如下所示:System.ComponentModel.Win32异常:%1不是位于闪烁体net.闪烁体.get_CreateParams的有效Win32应用程序

如果您能帮助解决这些问题,我们将不胜感激。作为记录,我正在64位Windows7平台上运行VisualStudio2008


谢谢。

我已经有一段时间没有使用闪烁体了,但我的理解是SciLexer.dll完全是一个本机dll,这就是为什么不能从Visual Studio添加对它的引用

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


鉴于您使用的是64位,我希望您需要这样做。正如我所说,我已经有一段时间没有这样做了,但当我这么做时,斯金特拉只有32位二进制文件。

我通过将文件复制到C:\Windows\SysWOW64来解决这个问题


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

我添加了对闪烁体.dll的引用,而不是对SciLexer.dll的引用,并且它起到了作用。

我使用闪烁体C端口。它很容易使用,但却占用了大量的内存

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

然后选择Advanced并单击Environment Variables

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

价值观:你喜欢什么

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

下载路径:

在屏幕右侧选择下载

然后在应用程序中添加闪烁Dll作为参考,其他2个Dll作为现有文件

右键单击project ADD-Addexisting files-然后从本地系统中选择文件,并确保将2个文件复制到输出目录=始终复制


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

你会考虑检查替代方案吗?我非常喜欢ICSharp.TextEditor,它是SharpDevelop的一部分,SharpDevelop是一个用于.NET开发的免费IDE。该编辑器功能非常强大,完全是C代码,在32位和64位系统上工作得非常出色——它可以正常工作。在这里获取它,并从大型解决方案中获取ICSharpCode.TextEditor子项目良好的点-复制到输出目录可以在运行时解决问题,但这对Visual Studio没有帮助。也许我最后就是这么做的对于Visual Studio安装项目,您还必须将文件添加到输出中,因为项目输出组件不会在客户端项目复制到输出文件夹的情况下拉入SciLexer.dll。我想您已经安装了一些工具,它本身添加到path变量中,并包含一个SciLexer.dll,例如TortoiseSVN。在这种情况下,将拾取此位置的dll,并且您的工具将无法在干净安装的计算机上工作。要选中此选项,请打开命令提示符并输入where SciLexer.dll。如果您发现了什么,请暂时重命名该文件并再次启动工具。最后但并非最不重要的一点是运行ProcessMonitor并检查将从何处加载SciLexer.dll。一般来说,这可能不是客户端安装最佳安全实践的选项,在同一台计算机上有多个安装—例如,使用此策略不能安装两个不同的版本。将SciLexer.dll和scilexer64.dll复制到路径指定的文件夹中,为我解决了这个问题。VS2019能够在加载设计器时加载。这是为任何阅读您的帖子的人准备的。如果无法自动滚动闪烁网编辑器控件,请参阅以下文章: