2015-01-23 9 views
6

Ich versuche CefSharp in ein C# -Projekt zu integrieren, das ich in Visual Studio 2010 unter Windows XP entwickle. Ähnliche Fehler werden von anderen Menschen mit Windows Server 2003.CefSharp unter Windows XP/Server 2003/VS 2010

  1. ich hinzufügen CefSharp.WinForms über NuGet berichtet worden und es scheint sehr gut zu funktionieren.

  2. Ich kompiliere und starte die App, aber wenn ich versuche, CefSharp zu laden, bekomme ich "Eine von 'CefSharp.Core.dll' importierte Prozedur konnte nicht geladen werden."

Unten ist der Code, den ich laufen:

 var settings = new CefSharp.CefSettings { 
      PackLoadingDisabled = true 
     }; 

     if (Cef.Initialize(settings)) { 
      throw new Exception("Failed to initialze CefSharp"); 
     } 

     var browser = new CefSharp.WinForms.ChromiumWebBrowser("http://www.google.com/"); 
     browser.SetBounds(0, 0, ClientSize.Width, ClientSize.Height); 
     Controls.Add(browser); 

Auf der CefSharp FAQ Es sagt mir, dass ich eine Reihe von Aufgaben durchführen sollte, die ich, um auf Windows XP laufen getan haben, obwohl XP ist nicht offiziell unterstützt es sagt in der FAQ, dass es funktioniert.

Error message that appears

Project files

Files in bin\x86\debug

+0

Haben Sie das gelöst? – albertjan

+0

@albertjan Nein leider nicht. Ich habe es geschafft, eine ältere Version von CefSharp zum Laufen zu bringen. Ich bin immer noch interessant in einer Lösung! –

+2

habe ich :) aber ich konnte es nicht mit den Nugets arbeiten. Ich musste es selbst zu .net 4 kompilieren. Und ich hatte so das Target-Plattform-Toolset zu '120' für das C++ - Projekt angeben. (Obwohl ich nicht wirklich sicher bin, dass das wirklich nessecary war) – albertjan

Antwort

0

Ich denke, in ein Tippfehler/fehlende Wort gibt es "installiert Stellen Sie sicher, die richtige Version Visual C++."

IMHO sollte es lesen: "Stellen Sie sicher, dass die richtige Visual C++ Redistributable Version installiert ist."

Es ist ein Verweis auf eine andere Artikel FAQ: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Including_vcredist

+0

Ich stimme zu und das ist tatsächlich, wie ich diese Anforderung auch lese. Das korrekte VC++ redistributable ist installiert –

+1

Klingt wie es Zeit ist, Dependency Walker für eine Drehung zu nehmen und mit dem zu vergleichen, was Sie auf einem Nicht-XP-Computer mit denselben Binärdateien sehen. Siehe https://github.com/cefsharp/CefSharp/issues/409 – jornh

0

Es gibt ein paar mögliche Probleme sie sehen sollten:

1 - stellen Sie den Browser subprocess Pfad:

var settings = new CefSettings { 
BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe" 
}; 

2 - Stellen Sie die Adresse/html nicht in Ihrem ctor aber in der browser.IsBrowserInitialised Veranstaltung (und nur nach der Überprüfung des Browsers ist initialisiert) Kurz gesagt, CEF ist BIG FAT dll, die eine Weile dauert zu laden und zu initialisieren ... Wir wird das in kürzester Zeit funktionieren!

+0

Leider kann ich nicht einmal neue CefSettings ausführen, so dass der Fehler viel früher auftritt, am wahrscheinlichsten in GAC-Bindungen oder ähnlichem. –

0

Gleiches Problem hier. WIRKLICH WIRKLICH nervig. Ich habe versucht, mich in Abhängigkeit zu bewegen und es gab mir keine relevanten Informationen. Alle Tutorials geben keine relevanten Informationen. Ich bin mir ziemlich sicher, dass es unmöglich ist, zumindest mit dem nugget-Paket.

0

Ich hatte das Problem, das Thema gelöst.

https://groups.google.com/forum/#!searchin/cefsharp/xp/cefsharp/J5gX7OKf7Rc/EoB3h0UmfYYJ

Wenn Sie VS2013 und etwas Zeit haben, können Sie versuchen, die Sourcen mit geringfügigen Modifikationen.

  • Stellen Sie sicher, in Release Modus zu bauen, wenn auf XP/2003
  • Ändern, um die beiden c Bereitstellung ++ Projekte Platform Toolset zu Visual Studio 2013 - Windows XP (v120_xp)
  • Sicherstellen, dass die Maschine Ihre entfalte VC++ 2013 Redist installiert hat.