背景:原本wpf项目中使用的自带webbrowser作为内嵌浏览器,由于webbrowser内嵌https://www.js.com网址的时候只能显示首屏(无法拉动滚动条至页面最底部),使得业务无法进行,所以寻思使用CefSharp(chrome浏览器,webkit内核)来替换。

顺便尝试一下NuGet(visual studio下的包管理工具),记录以便查阅。

 

1.安装NuGet管理工具

  Visual studio 2013下使用NuGet安装CefSharp DEMO

点击进去:

Visual studio 2013下使用NuGet安装CefSharp DEMO

 

 点击NuGet Package Manager for Visual Studio 2013 进行安装,安装完后需要重启visual studio 2013.

 

2.创建名字为CefSharp的WPF项目,并使用NuGet安装CefSharp.Wpf

Visual studio 2013下使用NuGet安装CefSharp DEMO

然后,搜索CefSharp.Wpf并点击安装。

Visual studio 2013下使用NuGet安装CefSharp DEMO

安装可能要花一段时间(可能一个小时吧,cnblogs提供了NuGet镜像https://nuget.cnblogs.com/v3/index.json,使用详细方法:https://www.cnblogs.com/cmt/p/nuget-mirror.html,遗憾的是实测还是很慢,会提示超时。)

Visual studio 2013下使用NuGet安装CefSharp DEMO

哥们已经等了两个小时了,用了镜像也慢,看来只能买VPN了。

终于下载完了,发现NuGet下载的是最新版本cefsharp,需要.net 4.5.2,而我本身系统上是4.5.0,真是哔了狗了,只能使用NuGet的控制台下载了,又要等一个小时了(一天就这么过去了)

Visual studio 2013下使用NuGet安装CefSharp DEMO

看看cefsharp与.net的版本对应关系:

Visual studio 2013下使用NuGet安装CefSharp DEMO

 

使用命令:Install-Package CefSharp.Wpf -version 49.0.0,下载完成后重启vs.

最后再MainWindow.cs中加入如下代码:

 CefSharp.Wpf.ChromiumWebBrowser webView;
        public MainWindow()
        {
            InitializeComponent();
        }

        private void browserGrid_Loaded(object sender, RoutedEventArgs e)
        {
            var setting = new CefSharp.CefSettings();
            if (CefSharp.Cef.IsInitialized == false)
                CefSharp.Cef.Initialize(setting, true, false);

            webView = new CefSharp.Wpf.ChromiumWebBrowser();
            this.browserGrid.Children.Add(webView);

            webView.Address = path; //"http://www.baidu.com"

          }
View Code

相关文章: