C# WPF XAML问题中的闪烁网
我正在尝试在WPF中使用C# WPF XAML问题中的闪烁网,c#,.net,wpf,xaml,scintilla,C#,.net,Wpf,Xaml,Scintilla,我正在尝试在WPF中使用闪烁网(通过Windows窗体主机)。但是,我得到的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.micr
闪烁网
(通过Windows窗体主机
)。但是,我得到的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给了我以下错误:
名称空间“clr名称空间:闪烁体”中不存在名称闪烁体。
标记“闪烁体”在XML命名空间“clr命名空间:闪烁体网”中不存在。第8行位置14'
未找到名称“闪烁体:闪烁体”。验证是否缺少部件引用,以及是否已生成所有引用的部件
.netframework4.5
与VS2012
一起使用,您的名称空间是错误的()
如果正在引用clr命名空间,则可以省略程序集
在与应用程序代码相同的程序集中定义
引用自定义类
检查此命名空间:
xmlns:scintilla="clr-namespace:ScintillaNET;assembly=ScintillaNET"
我也遇到过同样的问题。 在搜索过程中,我发现了一篇关于一个单独的WPF分支的帖子 如果你去那里,点击分支,你可以看到它 我下载了这一个并构建了它,然后向我的WPF应用程序中添加了闪烁体net.dll和闪烁体net.WPF.dll 但是仍然没有运气,当我把我的项目和我从codeplex那里得到的项目进行比较时,我发现了这一点 我的应用程序:项目属性->应用程序->目标框架已设置为.NET Framework 4客户端配置文件(这不是完整的.NET Framework 4,而是一个轻版本) codeplex中的应用程序被设置为.NET Framework 4。将我的应用程序更改为完整的.NET Framework 4后,所有问题都消失了 我添加到XAML的名称空间 xmlns:sn=”http://scintillanet.codeplex.com"
谢谢。它现在确实可以编译了,但是
VS2012
仍然抱怨scatinlla
名称不存在于clr名称空间:scatinllanet;组件=闪烁网
。到底出了什么问题?这只是一个VS2012
bug吗?它可以编译,但仍然存在XAML错误!?可能是虫子。但是如果你运行一切正常,当窗口加载时,它抛出了一个XAML解析器异常
,因此仍然存在一个问题。你知道那是什么吗?好的。我现在修好了。我将SciLexer.dll作为可执行文件(.exe、.dll)添加到项目中,并将其生成操作设置为复制到输出目录,并且未引发任何XAML解析器异常。