2016-11-11 5 views
0

Ich habe Probleme mit der Initialisierung von CefSharp3. Das Steuerelement gibt nach der Initialisierung eine leere Seite aus. Ich folge den Anweisungen von CefSharp Wiki-Seite (https://github.com/cefsharp/CefSharp/wiki/Quick-Start und http://ourcodeworld.com/articles/read/173/how-to-use-cefsharp-chromium-embedded-framework-csharp-in-a-winforms-application) Das Problem ist, dass wenn ich die Anwendung für x64 erstellen ich eine leere Seite, aber es funktioniert in x86.Cefsharp3-WinForms x64 zeigt leere Seite aber x86 funktioniert

Der einzige Code in meinem WinForms-Projekt ist dies:

public ChromiumWebBrowser chromeBrowser; 

public void InitializeChromium() 
{ 
    CefSettings settings = new CefSettings(); 
    // Initialize cef with the provided settings 
    Cef.Initialize(settings); 
    // Create a browser component 
    chromeBrowser = new ChromiumWebBrowser("http://ourcodeworld.com"); 
    // Add it to the form and fill it to the form window. 
    this.Controls.Add(chromeBrowser); 
    chromeBrowser.Dock = DockStyle.Fill; 
} 

public Form1() 
{ 
    InitializeComponent(); 
    // Start the browser after initialize global component 
    InitializeChromium(); 
} 

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    Cef.Shutdown(); 
} 

Ich habe auch versucht einen Panel hinzufügen und ChromiumBrowser in der Platte mit panel1.Controls.Add(chromeBrowser) statt this.Controls.add(chromeBrowser), aber das Problem ist immer noch da zu initialisieren.

fand ich dies im Abschnitt zur Fehlerbehebung bei CefSharp wiki:

https://github.com/cefsharp/CefSharp/wiki/Trouble-Shooting

b) die Entwicklertools. Fügen Sie Ihrem Formular eine Schaltfläche hinzu und rufen Sie "browser.ShowDevTools()" auf. Wenn Sie sehen können, dass ein Dokument geladen wurde und Sie ein DOM dort haben, dann ist Ihr Problem eine Bildschirmausgabe und Ihr wahrscheinlichstes Problem ist, das Dock nicht richtig einzustellen, oder eine andere Einstellung bewirkt, dass der Browser außerhalb des Bildschirms rendert /kopflos. Wenn Sie ein leeres Tool-Fenster oder gar kein Tool-Fenster erhalten, konnte CefSharp nicht richtig initialisiert werden, so dass Sie ein Setup-Problem zur Fehlerbehebung haben.

Dies ist genau die Symptome, die ich erfahre.

Ich habe versucht, das gleiche Projekt auf meinem Laptop (MacBook Pro mit Win7, VS2013 und .NET 4.5.2) und es funktionierte wie ein Charme. Das bedeutet, dass etwas mit meiner Workstation läuft (win10, VS2015 .NET 4.5.3).

Irgendwelche Ideen?

+0

Iv'e hat das gleiche Problem, und ich versuche es zu lösen. Ich habe noch keinen Weg gefunden, aber Sie haben mich einfach dazu gebracht, dass es in X86 funktioniert, tks. – shawty

Antwort

0

Dies scheint ein Fehler in der neuesten Build zu sein. Die Lösung für den Moment ist, den Build v51.0.0 zu verwenden.

Sie können dies ganz einfach im NuGet-Paket-Manager in VS2015 durchführen, oder wenn Sie VS2013 verwenden, verwenden Sie die Option "--version 51.0.0", wenn Sie cefsharp über die Befehlszeile des Paketmanagers installieren.

Das Problem für das Problem ist hier: https://github.com/cefsharp/CefSharp/issues/1870

für zukünftige Lösungen zu diesem Thema im Auge halten.

aktualisiert 28/11/2016

Dies ist ein Fehler in der aktuellen V53 Veröffentlichung von CefSharp. Es wurde vom CefSharp-Team bestätigt und ist in der Ausgabe # 1819 (https://github.com/cefsharp/CefSharp/issues/1819) adressiert.

Der Fehler wurde anscheinend behoben, wird aber erst mit V55 veröffentlicht.

Die Lösung für jetzt, ist entweder zurück zu V51 gehen oder Ihre eigene Version von der Quelle für V55 zu bauen.

+0

Es ist eigentlich ein Fehler in 'Chromium', wenn Sie den aufgelisteten Links folgen. – amaitland

+0

in der Tat, aber hier genügt die Beschreibung :-) – shawty

+0

Es ist wichtig, dass die Leute verstehen, dass 'CefSharp' nur ein Wrapper ist und viele Bugs' Upstream' Probleme mit 'CEF' oder' Chromium' sind. – amaitland