标签: cefsharp

无法加载文件或程序集"CefSharp.dll"或其依赖项之一

我正在尝试使用CefSharp将我的网络应用加载到winfoms中.我添加了2个dll文件:CefSharp.dll和CefSharp.WinForms到引用中,并通过添加现有项目将2个dll文件icudt.dll和libcef.dll添加到我的项目中.
在此输入图像描述

这是表单中的代码

public WebView web_view;

public Form1()
{
     InitializeComponent();
     web_view = new WebView("http://localhost:8084/wsmill",new CefSharp.BrowserSettings());
     web_view.Dock = DockStyle.Fill;
     toolStripContainer1.ContentPanel.Controls.Add(web_view);
     CefSharp.CEF.Initialize(new Settings());
}
Run Code Online (Sandbox Code Playgroud)

运行应用程序时,我收到此错误

WindowsFormsApplication1.exe中发生未处理的"System.IO.FileLoadException"类型的异常附加信息:无法加载文件或程序集"CefSharp.dll"或其依赖项之一.动态链接库(DLL)初始化例程失败.(HRESULT异常:0x8007045A)

所以任何了解这一点的人都请帮助我,谢谢

c# winforms cefsharp

19
推荐指数
4
解决办法
4万
查看次数

你如何在WCF服务中使用CefSharp?

我试图CefSharp.OffScreen(41.0.0)在WCF服务应用程序中使用Nuget包,并在尝试从Visual Studio 2013运行服务时收到以下错误:

无法加载文件或程序集"CefSharp.BrowserSubprocess.Core.DLL"或其依赖项之一.指定的模块无法找到.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集"CefSharp.BrowserSubprocess.Core.DLL"或其依赖项之一.指定的模块无法找到.

提到的程序集存在于项目的bin文件夹中,以及CefSharp网站上列出的所有必需程序集.如果实际上还需要另一个组件,我还没弄清楚它是什么.

还有一点值得一提:

  • 它很容易重现:从VS2013的"WCF服务应用程序"模板开始,只需添加CefSharp.Offscreen Nuget Package.
  • 我在x86中构建项目.
  • CefSharp还依赖于Visual Studio C++ 2012可再发行组件.我将这些文件复制到bin文件夹中但仍然得到相同的错误.
  • 我在这里尝试了SO问题的解决方案,但无济于事.
  • CefSharp 从控制台应用程序或WPF应用程序引用时工作正常.

.net c# wcf cefsharp

19
推荐指数
1
解决办法
1533
查看次数

CefSharp LoadHtml

有人可以向我解释一下CefSharp LoadHtml功能是如何工作的吗?

LoadHtml(string html, string url)
Run Code Online (Sandbox Code Playgroud)

什么的htmlurl参数代表什么?

我有兴趣将原始HTML字符串中的页面加载到CefSharp浏览器中.

c# chromium-embedded cefsharp

16
推荐指数
2
解决办法
2万
查看次数

如何隐藏CefSharp.WinForms.ChromiumWebBrowser右键单击上下文菜单?

CefSharp.WinForms.ChromiumWebBrowser在我的项目中使用v45.当我右键单击Web浏览器时,将显示默认的上下文菜单:

对话图片

但我不想展示任何东西.我该怎么办?

.net cefsharp

16
推荐指数
3
解决办法
8239
查看次数

cefsharp执行javascript

我想JavaScript通过CefSharp在Windows窗体中使用来执行代码,但它不起作用.代码如下,并且test不显示消息.我错过了什么?

var browser = new ChromiumWebBrowser("http://localhost:50056/simple.aspx");
browser.Name = "Simple Page";
browser.Dock = DockStyle.Fill;            
this.Controls.Add(browser);
browser.ExecuteScriptAsync("alert('test');");
Run Code Online (Sandbox Code Playgroud)

javascript c# chromium-embedded cefsharp

15
推荐指数
1
解决办法
3万
查看次数

使用第三方DLL部署WPF应用程序

我一直非常沮丧地尝试部署我创建的C#/ WPF应用程序,该应用程序有一些对第三方DLL的引用.我在项目中创建了一个名为的文件夹lib,在那里我放置了所有这些DLL.在VS2012中,我通过浏览到该文件夹​​并选择所有DLL来添加引用. Copy Local设置为true所有.我构建和运行时一切都很好,但是当我选择发布并创建OneClick安装程序时,事情就不那么顺利了.在发布向导期间,我将其设置为从磁盘安装,并将其设置为从不检查更新.我拿这个文件夹,把它放在闪存驱动器上,插入另一台PC,运行安装程序,然后抛出异常.我相信我知道发生了什么,但我无法弄清楚如何打包它以便正确部署它.

我的一个DLL是为C++项目设计的DLL的C#包装器.我们会说,Application要求DLL1DLL1要求DLL2. DLL2无法作为项目中的引用添加,因为它不是.NETDLL. DLL1需要DLL2在同一个文件夹中才能拿起它.我正在使用封装Chromium Embedded Framework的CefSharp.

我已经尝试将CefSharp.dll所需的DLL放在publish/Application Files目录中,但它不起作用.我注意到VS2012中存在的所有DLL都有一个.deploy扩展,我甚至去添加了扩展,看看它是否正在扫描它,但它也没有用.这是我第一次为Windows应用程序进行开发和部署,我读过的所有关于MSDN或博客文章的教程似乎都没有涵盖这种情况,我在Deployment Manager中看不到任何其他选项来处理这些案件类型.

如果有帮助,抛出的异常代码是: CLR20r3

当我抓住并显示Exception时,我提供的所有信息基本上都是这样说的CefSharp.dll or one of it's dependencies cannot be loaded.我之前得到的时间DLL2不在同一个文件夹中DLL1.

任何人都可以提供有关如何从VS2012部署这种情况的帮助吗?

提前致谢!

编辑:信息更新

我试图将调试版本版本推送到没有安装Visual Studio的测试机器.在构建CefSharp或任何其他C++ Runtime时DLL,它将查找DLL通常具有相同名称但在末尾添加字母"d"的所有Debug版本.如下所述,C++ Runtime的Debug版本不可再发行.并不是说你不能手动将它们添加DLLs到你的项目并将它们设置为Copy Always,但这是一种黑客工作.我从头开始了一个新项目,添加了DLL的所有Release版本,并且一切都很好.

dll clickonce windows-installer visual-studio-2012 cefsharp

14
推荐指数
1
解决办法
8808
查看次数

从CefSharp Web浏览器获取HTML源代码

我正在使用aCefSharp.Wpf.ChromiumWebBrowser(版本47.0.3.0)来加载网页.页面加载后的一些点我想得到源代码.

我打过电话:

wb.GetBrowser().MainFrame.GetSourceAsync()
Run Code Online (Sandbox Code Playgroud)

但它似乎没有返回所有的源代码(我相信这是因为有子帧).

如果我打电话:

wb.GetBrowser().MainFrame.ViewSource() 
Run Code Online (Sandbox Code Playgroud)

我可以看到它列出了所有的源代码(包括内部框架).

我想得到与ViewSource()相同的结果.有人能指出我正确的方向吗?

更新 - 添加代码示例

注意:Web浏览器指向的地址也将仅适用于2016年10月10日.之后,它可能会显示不同的数据,这不是我要看的.

在frmSelection.xaml文件中

<cefSharp:ChromiumWebBrowser Name="wb" Grid.Column="1" Grid.Row="0" />
Run Code Online (Sandbox Code Playgroud)

在frmSelection.xaml.cs文件中

public partial class frmSelection : UserControl
{
    private System.Windows.Threading.DispatcherTimer wbTimer = new System.Windows.Threading.DispatcherTimer();

    public frmSelection()
    {

         InitializeComponent();

         // This timer will start when a web page has been loaded.
         // It will wait 4 seconds and then call wbTimer_Tick which 
         // will then see if data can be extracted from the web page.
         wbTimer.Interval = new TimeSpan(0, 0, 4);
         wbTimer.Tick += …
Run Code Online (Sandbox Code Playgroud)

c# wpf cefsharp

13
推荐指数
1
解决办法
3万
查看次数

是否有任何使用CefGlue或CefSharp在Windows窗体应用程序中使用最少设置的样本?

我(仍然)使用Visual Studio 2005并希望在ac#winforms应用程序中嵌入webkit浏览器,最好是作为winforms控件.

我正在寻找一个简单的CefGlue或CefSharp示例,以及最少的必要dll.我无法理解GitHub上的CefSharp示例.

c# webkit winforms cefsharp

12
推荐指数
2
解决办法
2万
查看次数

如何处理CefSharp中的弹出链接

我正在创建一个标签式Web浏览器CefSharp 39.0.2.现在,如果用户点击网站上的链接,它将打开一个没有我原始UI的新窗口.例如,当您点击Google新闻上的文章链接时,它会在新窗口中打开,但没有我编写的任何浏览控件.我也研究了这个Cef.WinForms.Example程序,它也做了同样的事情.

是否有可能以不同的方式处理这个问题?我希望链接可以在新选项卡中打开,也可以在新窗口中打开(包含所有控件).我一直在查看GitHub问题,我找不到这样的东西(也许我看起来不够努力,因为我认为这也是其他人想要做的......).我查看了所有events浏览器控件,我找不到任何看起来像是处理它的人.

winforms chromium-embedded cefsharp

12
推荐指数
1
解决办法
9316
查看次数

CefSharp 与 WebView2

我正在考虑将项目从 cef (CefSharp) 迁移到 WebView2 WPF。我的初步测试表明 WebView2 API 具有我需要的该端口的接口。我担心我会错过一些可能阻止我切换到 WebView2 的东西,我会在过渡的后期阶段解决这个问题。如果有人经历过这个过程,请分享我是否需要了解可能成为此过渡的障碍的事情。WebView2 中是否缺少来自 cef 的重要 API?

chromium-embedded cefsharp webview2

12
推荐指数
1
解决办法
6391
查看次数