使用CEFSharp Web浏览器的WPF应用程序在clickonce版本中崩溃
我有一个简单的WPF应用程序,它可以在调试中正常工作,但是当我尝试加载CEFSharp Web浏览器时,会发出clickonce释放它的崩溃
我有一个登录页面,用户然后点击打开浏览器一旦点击我得到以下错误
PresentationFramework.dll中出现未处理的“System.Windows.Markup.XamlParseException”类型exception
附加信息:调用与指定的绑定约束匹配的类型“MyProject.Views.CefSharpWebBrowserUserControl”上的构造函数引发exception。
> > > > > > > >
例外:无法创建“CefSharpWebBrowserUserControl”的实例。
TargetInvocationException:调用目标抛出exception。
FileNotFoundException:无法加载文件或程序集’CefSharp.Core,Version = 45.0.0.0,Culture = neutral,PublicKeyToken = 40c4b6fc221f4138’或其依赖项之一。 该系统找不到指定的文件。
代码背后
public partial class CefSharpWebBrowserUserControl : UserControl { public CefSharpWebBrowserUserControl() { InitializeComponent(); var settings = new CefSettings(); settings.PackLoadingDisabled = true; WebBrowser = new ChromiumWebBrowser(); WebBrowser.Address = "www.google.com"; BrowserGrid.Children.Add(WebBrowser); } public ChromiumWebBrowser WebBrowser { get; set; } } }
默认情况下, ClickOnce
不包括CefSharp
所需的未unamanged
资源。 有许多问题已经解决了这个问题。
这里有几个有用的
- https://github.com/cefsharp/CefSharp/issues/1314
- 使用第三方DLL部署WPF应用程序
搜索GitHub
项目始终是一个很好的资源。 https://github.com/cefsharp/CefSharp/search?q=clickonce&type=Issues&utf8=%E2%9C%93
您还需要确保目标计算机上安装了VC++ Redist
。 有关您需要VC++
版本的更多信息,请参阅https://github.com/cefsharp/CefSharp#version-branches 。
一般情况下,请在发布问题之前尝试搜索GitHub
/ StackOverflow
。
您是否介意尝试在WebBrowser.Address中添加https://?
所以来自:
WebBrowser.Address = "www.google.com";
具有:
WebBrowser.Address = "https://www.google.com";
这篇文章也可以帮到你。