【问题标题】:ScintillaNET in WPF XAML IssuesWPF XAML 问题中的 ScintillaNET
【发布时间】:2013-09-04 18:05:39
【问题描述】:

我正在尝试在 WPF 中使用ScintillaNET(通过Windows Forms Host)。但是我得到一个无效的 XAML 标记。我的 XAML 代码是:

<Window x:Class="ObjectiveWin.Editor"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:scintilla="clr-namespace:ScintillaNET"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ObjectiveWin 2013 Express" Height="392.537" Width="628.358" WindowState="Maximized" Loaded="editor_Loaded">
<Grid>
    <WindowsFormsHost HorizontalAlignment="Left" Height="340" Margin="0,22,0,0" VerticalAlignment="Top" Width="620">
        <scintilla:Scintilla></scintilla:Scintilla>
    </WindowsFormsHost>
</Grid>

然而,Visual Studio 2012 给了我这些错误:

  1. The name Scintilla does not exist in the namespace "clr-namespace:ScintillaNET".
  2. The tag 'Scintilla' does not exist in XML namespace 'clr-namespace:ScintillaNET. Line 8 position 14.'

  3. The name 'scintilla:Scintilla' was not found. Verify you are not missing an assembly reference and that all referenced assemblies have been built

我到底做错了什么?如果重要的话,我使用.NET Framework 4.5VS2012

【问题讨论】:

    标签: c# .net wpf xaml scintilla


    【解决方案1】:

    我也遇到过同样的问题。 在搜索时,我发现了一篇关于单独 WPF 分支的帖子,指的是 http://scintillanet.codeplex.com/SourceControl/latest

    如果你去那里并点击分支,你可以看到它。

    我下载了这个并构建了它,然后将 ScintillaNET.dll 和 ScintillaNET.WPF.dll 添加到我的 WPF 应用程序中。

    但仍然没有运气,当我将我的项目与我从 codeplex 获得的项目进行比较时,我发现它有效

    我的应用程序:项目属性 -> 应用程序 -> 目标框架设置为 .NET Framework 4 客户端配置文件(这不是完整的 .NET FrameWork 4,而是一个精简版)

    codeplex 的应用程序设置为 .NET Framework 4。将我的应用程序更改为完整的 .NET Framework 4 后,所有问题都消失了。

    我添加到我的 XAML 的命名空间

    xmlns:sn="http://scintillanet.codeplex.com"

    【讨论】:

      【解决方案2】:

      您的命名空间有误 (msdn)。

      如果引用的 clr 命名空间是 在与应用程序代码相同的程序集中定义 引用自定义类。

      检查这个命名空间:

      xmlns:scintilla="clr-namespace:ScintillaNET;assembly=ScintillaNET"
      

      【讨论】:

      • 谢谢。它现在可以编译,但VS2012 仍然抱怨Scintilla 的名称在clr-namespace:ScintillaNET;assembly=ScintillaNET 中不存在。还有什么问题?
      • 这只是一个VS2012 错误吗?它可以编译,但仍然存在 XAML 错误!?
      • 这可能是错误。但如果你运行一切都好。
      • 它在加载窗口时抛出了XAML Parser Exception,所以仍然存在问题。你知道它是什么吗?
      • 好的。我现在修好了。我将 SciLexer.dll 作为可执行文件(.exe、.dll)添加到项目中,并将其构建操作设置为复制到输出目录,并且没有抛出 XAML Parser Exception
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多