使用CEFSharp Web浏览器的WPF应用程序在clickonce版本中崩溃

McC*_*n46 6 .net c# wpf xaml cefsharp

我有一个简单的WPF应用程序,它可以在调试中正常工作,但是当我尝试加载CEFSharp Web浏览器时,它会发出clickonce版本崩溃

我有一个登录页面,用户然后点击打开浏览器一旦点击我得到以下错误

PresentationFramework.dll中发生未处理的"System.Windows.Markup.XamlParseException"类型异常

附加信息:在类型"MyProject.Views.CefSharpWebBrowserUserControl"上调用与指定绑定约束匹配的构造函数引发异常.

Xaml创建UserControl的实例时出错

> <TabItem Header="Web Page" Name="CefWebPage">
>                 <Grid Background="#FFE5E5E5" Margin="0">
>                     <Grid.ColumnDefinitions>
>                         <ColumnDefinition Width="871*"/>
>                     </Grid.ColumnDefinitions>
>                     <views:CefSharpWebBrowserUserControl x:Name="CefSharpWebBrowserUserControl"></views:CefSharpWebBrowserUserControl>
>                 </Grid>
>             </TabItem>
Run Code Online (Sandbox Code Playgroud)

例外:无法创建"CefSharpWebBrowserUserControl"的实例.

TargetInvocationException:调用目标抛出异常.

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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

ama*_*and 8

ClickOnce默认情况下不包含所需的unamanged资源CefSharp.有许多问题已经解决了这个问题.

这里有几个有用的

搜索GitHub项目始终是一个很好的资源. https://github.com/cefsharp/CefSharp/search?q=clickonce&type=Issues&utf8=%E2%9C%93

您还需要确保VC++ Redist在目标计算机上安装.有关您需要的版本的更多信息,请参阅https://github.com/cefsharp/CefSharp#version-branchesVC++.

一般情况下,请在发布问题之前尝试搜索GitHub/ StackOverflow.