我正在尝试使用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)
所以任何了解这一点的人都请帮助我,谢谢
我试图CefSharp.OffScreen(41.0.0)在WCF服务应用程序中使用Nuget包,并在尝试从Visual Studio 2013运行服务时收到以下错误:
无法加载文件或程序集"CefSharp.BrowserSubprocess.Core.DLL"或其依赖项之一.指定的模块无法找到.
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.IO.FileNotFoundException:无法加载文件或程序集"CefSharp.BrowserSubprocess.Core.DLL"或其依赖项之一.指定的模块无法找到.
提到的程序集存在于项目的bin文件夹中,以及CefSharp网站上列出的所有必需程序集.如果实际上还需要另一个组件,我还没弄清楚它是什么.
还有一点值得一提:
CefSharp 从控制台应用程序或WPF应用程序引用时工作正常.有人可以向我解释一下CefSharp LoadHtml功能是如何工作的吗?
LoadHtml(string html, string url)
Run Code Online (Sandbox Code Playgroud)
什么的html和url参数代表什么?
我有兴趣将原始HTML字符串中的页面加载到CefSharp浏览器中.
我想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) 我一直非常沮丧地尝试部署我创建的C#/ WPF应用程序,该应用程序有一些对第三方DLL的引用.我在项目中创建了一个名为的文件夹lib,在那里我放置了所有这些DLL.在VS2012中,我通过浏览到该文件夹并选择所有DLL来添加引用. Copy Local设置为true所有.我构建和运行时一切都很好,但是当我选择发布并创建OneClick安装程序时,事情就不那么顺利了.在发布向导期间,我将其设置为从磁盘安装,并将其设置为从不检查更新.我拿这个文件夹,把它放在闪存驱动器上,插入另一台PC,运行安装程序,然后抛出异常.我相信我知道发生了什么,但我无法弄清楚如何打包它以便正确部署它.
我的一个DLL是为C++项目设计的DLL的C#包装器.我们会说,Application要求DLL1和DLL1要求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版本,并且一切都很好.
我正在使用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) 我(仍然)使用Visual Studio 2005并希望在ac#winforms应用程序中嵌入webkit浏览器,最好是作为winforms控件.
我正在寻找一个简单的CefGlue或CefSharp示例,以及最少的必要dll.我无法理解GitHub上的CefSharp示例.
我正在创建一个标签式Web浏览器CefSharp 39.0.2.现在,如果用户点击网站上的链接,它将打开一个没有我原始UI的新窗口.例如,当您点击Google新闻上的文章链接时,它会在新窗口中打开,但没有我编写的任何浏览控件.我也研究了这个Cef.WinForms.Example程序,它也做了同样的事情.
是否有可能以不同的方式处理这个问题?我希望链接可以在新选项卡中打开,也可以在新窗口中打开(包含所有控件).我一直在查看GitHub问题,我找不到这样的东西(也许我看起来不够努力,因为我认为这也是其他人想要做的......).我查看了所有events浏览器控件,我找不到任何看起来像是处理它的人.
我正在考虑将项目从 cef (CefSharp) 迁移到 WebView2 WPF。我的初步测试表明 WebView2 API 具有我需要的该端口的接口。我担心我会错过一些可能阻止我切换到 WebView2 的东西,我会在过渡的后期阶段解决这个问题。如果有人经历过这个过程,请分享我是否需要了解可能成为此过渡的障碍的事情。WebView2 中是否缺少来自 cef 的重要 API?