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

  • 添加时首先发生
    SciLexer.dll作为对我的引用
    项目。我收到一条消息,说:
    对SciLexer.dll的引用可以
    未添加。请确保
    该文件是可访问的,并且它是一个
    有效的程序集或COM组件。
  • 当我尝试使用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位,我希望您需要build your app specifically as 32-bit and not AnyCPU。就像我说的那样,已经有一段时间了,但是当我这样做时,Scintilla只有32位二进制文​​件。

    关于c# - 如何在C#项目中使用Scintilla .NET?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2393895/

    10-11 19:52