I'm trying to add an embedded browser as a UserControl into a WPF application, using VS2012. MS Visual C++ 2012 Redistributable 11.0.060610 for x86 and x64 are both installed, also corresponding for 2010,2008 and 2005.
My machine has Win7 64 bit installed.
The application is built using .NET 4.0
The version of CefSharp.dll and CefSharp.Wpf.dll are both 31.0.0.0,
My problem is that every time I run the constructor for my class cefControlView, it bombs out with the following
System.IO.FileNotFoundException was unhandled
Message=Could not load file or assembly 'CefSharp.Core.dll' or one of its dependencies. The specified module could not be found.
Source=Mfg.Library.3Dcontrol
FileName=CefSharp.Core.dll
FusionLog=""
StackTrace:
I have a copy of CefSharp.Core.dll (31.0.0.0) in the relevant Bin\Debug folders, also in the root of each project, and also as references. The issue still won't go away.
I've also added
icudt.dll
libcef.dll
msvcp110.dll
msvcr110.dll
a number of other dll's, and the "locales" folders as referred to by a few other posts.
I've also updated my path statements to point to the root of each project, and also to the Bin\Debug folders
Now, I didn't have this problem with earlier versions of CefSharp.dll and CefSharp.Wpf.dll (1.25.5.0 I think), it has only started when I changed up to 31.0.0.0 (and the corresponding versions of icudt.dll etc). I moved up to the 31.0.0.0 as the WebGL stuff didn't seem to work in the older versions
Does anyone have any pearls of wisdom to cast my way?
This is a snippet of my code for the control
namespace Mfg.Library._3Dcontrol
{
public partial class cefControlView : UserControl
{
public WebView web_View;
public bool webViewIsReady = false;
public event PropertyChangedEventHandler PropertyChanged;
public cefControlView()
{
InitializeComponent();
CefSettings settings = new CefSettings();
Cef.Initialize(settings);
web_View = new WebView();
this.PropertyChanged += WebView_PropertyChanged;
this.uMaster3Dview.Children.Add(web_View);
}
and the XAML is
xmlns:chromeView="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
x:Class="Mfg.Library._3Dcontrol.cefControlView"
x:Name="cefUserControl1"
mc:Ignorable="d"
d:DesignWidth="1200"
d:DesignHeight="1000">
<Border BorderBrush="#FF0000" BorderThickness="5">
<Grid x:Name="uMasterWebViewGrid" Width="1200" Height="1000">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Name="uMaster3Dview" />
</Grid>
</Border>
</UserControl>