名称ChromiumWebBrowser在名称空间“clr-namespace:CefSharp.Wpf; assembly = CefSharp.Wpf”中不存在

我已经按照这个链接实现了CefSharp应用程序。

但是我在编写MainWindow.xaml

混合VS 2015说,

名称ChromiumWebBrowser在名称空间“clr-namespace:CefSharp.Wpf; assembly = CefSharp.Wpf”中不存在

但我在NuGet Package Manager中安装了CefSharp.Common和CefSharp.Wpf v51.0.0,cef.redist.x64和cef.redist.x86 v3.2704.1432。

我是开发C#的新手,所以我不知道如何解决这个问题。 请帮我解决这个错误。

这是我的MainWindow.xaml

      

我只是尝试了链接,正如我在评论中提到的那样编译没有任何问题。

它显示为错误,但您可以忽略它 可以忽略。

预览不可用 而预览也不可用,我学会了忍受它。

编译 编译时没有错误

程序开始 程序启动了。 没问题

对我来说问题是解决方案平台设置为AnyCPU。
据我所知,CefSharp不支持AnyCPU。 有趣的是,解决方案在Release模式下运行得很好,但是在Debug模式下我立即得到了一个错误 – the invocation of the constructor on type that matches ... the specified binding constraints threw an exception.

一旦我将解决方案平台更改为仅x64,那么XAML错误就消失了( The name ChromiumWebBrowser does not exist in the namespace “clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf” )。 我可以在调试和发布模式下运行解决方案。

它在XAML desginer中不受支持,因此在运行时加载它:

  1. 从XAMl中删除元素,而是放置任何容器,如边框:

      
  2. 在构造函数代码中,在InitializeComponent(); call,craete浏览器元素并放入容器中。 甚至更好地在类scoop中声明浏览器:

     CefSharp.Wpf.ChromiumWebBrowser browser = new CefSharp.Wpf.ChromiumWebBrowser(); public MainWindow() { InitializeComponent(); cefChromeContainer.Content = browser; browser.Address = "https://stackoverflow.com"; }