2015-01-23 28 views
6

Sto cercando di integrare CefSharp in un progetto C# che sto sviluppando in Visual Studio 2010 su Windows XP. errori simili sono stati riportati da altre persone in esecuzione Windows Server 2003.CefSharp su Windows XP/Server 2003/VS 2010

  1. aggiungo CefSharp.WinForms tramite NuGet e sembra funzionare grande.

  2. Compilando ed eseguo l'app, tuttavia, quando provo a caricare CefSharp, viene visualizzato "Impossibile caricare una procedura importata da Cefsharp.Core.dll".

Di seguito è il codice corro:

 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); 

Sulla CefSharp FAQ Mi dice che avrei dovuto eseguire una serie di compiti che ho fatto al fine di eseguire su Windows XP, anche se XP non è ufficialmente supportato dice nelle FAQ che funziona.

Error message that appears

Project files

Files in bin\x86\debug

+0

Hai risolto questo? – albertjan

+0

@albertjan No purtroppo no. Sono riuscito a far funzionare una versione precedente di CefSharp. Sono ancora interessante in una soluzione! –

+2

Ho fatto :) ma non ho potuto farlo funzionare con i nugets. Ho dovuto compilarlo da solo a .net 4. E avevo così specificato il set di strumenti della piattaforma di destinazione a '120' per il progetto C++. (anche se non sono proprio sicuro che fosse davvero nervoso) – albertjan

risposta

0

Penso che ci sia un errore di battitura/parola mancante in "Assicurarsi che il corretto Visual C++ versione è installata."

IMHO dovrebbe leggere: "Assicurarsi che sia installata la versione corretta di Visual C++ ridistribuibile."

E 'un riferimento a un'altra FAQ oggetto: https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#Including_vcredist

+0

sono d'accordo e questo è in realtà anche il modo in cui leggo quel requisito. È installato il corretto ridistribuibile VC++ –

+1

Sembra che sia giunto il momento di prendere Dependency Walker per un giro e confrontarlo con quello che si vede su una macchina non XP con gli stessi binari. Vedere https://github.com/cefsharp/CefSharp/issues/409 – jornh

0

Ci sono un paio di potenziali problemi si dovrebbe guardare per troppo:

1 - impostare il percorso del browser sottoprocesso:

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

2 - imposta l'indirizzo/html NON nel tuo ctor ma nell'evento browser.IsBrowserInitialised (e solo dopo aver verificato che il browser sia inizializzato) In breve, CEF è BIG FAT dll che richiede un po 'di tempo per caricare e inizializzare ... Noi questo funzionerà in pochissimo tempo!

+0

Sfortunatamente non riesco nemmeno a eseguire nuove CefSettings, quindi l'errore è molto più presto, molto probabilmente nei binding GAC o qualcosa di simile. –

0

Lo stesso problema qui. DAVVERO DAVVERO fastidioso. Ho provato il walker di dipendenza e non mi ha dato alcuna informazione pertinente. Tutti i tutorial non forniscono informazioni rilevanti. Sono abbastanza sicuro che sia impossibile, almeno con il pacchetto nuget.

0

Ho avuto problema risolto questo argomento.

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

Se avete VS2013 e un po 'di tempo, si potrebbe provare a compilare i sorgenti con piccole modifiche.

  • Assicurati di costruire in modalità Release durante la distribuzione di XP/2003
  • Cambiare i due C++ Platform Toolset a Visual Studio 2013 - Windows XP (v120_xp)
  • Assicurarsi che la macchina la vostra distribuzione su ha installato VC++ 2013 Redist.