Impossible de charger le fichier ou l'assembly 'CefSharp.dll' ou l'une de ses dépendances
Je suis en train d'utiliser CefSharp pour charger mon application web en winfoms. J'ai ajouté 2 fichiers dll: CefSharp.dll et CefSharp.WinForms en références et ajouter 2 fichiers dll icudt.dll et libcef.dll dans mon projet grâce à ajouter des éléments existants.
et c'est le code du formulaire
public WebView web_view;
public Form1()
{
InitializeComponent();
web_view = new WebView("http://localhost:8084/wsmill",new CefSharp.BrowserSettings());
web_view.Dock = DockStyle.Fill;
toolStripContainer1.ContentPanel.Controls.Add(web_view);
CefSharp.CEF.Initialize(new Settings());
}
Lorsque vous exécutez l'application, j'ai eu cette erreur
Une exception non gérée du type 'System.IO.FileLoadException " s'est produite
dans WindowsFormsApplication1.exe
Informations supplémentaires: impossible de charger le fichier ou l'assembly 'CefSharp.dll" ou une de ses dépendances. Une bibliothèque de liens dynamiques
(DLL) routine d'initialisation a échoué. (Exception de HRESULT:
0x8007045A)
Donc quelqu'un qui sait à ce sujet, veuillez m'aider, merci
source d'informationauteur Kien Dang Ngoc
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de mettre ces fichiers
dans votre bin\Debug (ou bin\Release de la base de votre configuration)
Et merci de ne pas oublier d'installer Visual C++ 2012 Redistribution ( Visual C++ 2013 Redistribuable depuis la version 43), si vous n'avez pas Visual Studio affiche toujours une exception dire non trouvé CefSharp.dll même si vous l'avez déjà!
Espérons que cette aide.
C'est un problème commun et est donc mentionnée dans le FAQle numéro de la question 3.
@AcccessDenied est droit. Les fichiers doivent être présents dans votre dossier de sortie (bin\Debug ou bin\Release). Une façon de faire cela est d'utiliser un
Post-Build
action, qui peut définir sous les paramètres du projet dans Visual Studio.Vous pouvez également configurer le post-build dans le
.csproj
fichier, un peu comme ceci:(Cet exemple est tiré de la CefSharp.Wpf.Exemple projet dans le CefSharp code source, CefSharp3 branche. Le fichier exact emplacements peuvent varier dans votre cas, notamment si vous utilisez des CefSharp1, afin d'adapter, si nécessaire, pour s'assurer que les fichiers sont copiés correctement.)
Je ne recommande pas de mettre des trucs dans bin\Debug ou bin\Release et en l'ajoutant à la solution à l'aide de
Copy Always
. Il se sent comme une bidouille pour moi.J'ai juste eu des problèmes avec ce même et j'ai fait la suivante:
ajouté le code suivant lors du démarrage pour s'assurer que toutes les dépendances sont là
CefSharp.DependencyChecker
n'a pas de rapport il manque quelque chose, mais dès que j'ai appelé de nouveauCefSharp.Wpf.ChromiumWebBrowser()
l'exception s'est produite.J'ai vérifié tous les ms.net CEF dll à l'aide de ILSpy et a constaté que certains de ces Dll, ont été localisées dans le GAC. Dès que je les ai retirées de GAC tous travaillé ok!
C'est une erreur commune qui est causée par pas tous les fichiers présents dans le répertoire de sortie (bin\Debug ou bin\Release, en fonction de la configuration que vous sont en cours d'exécution dans Visual Studio).
CefSharp.dll
est un .NET DLL en fonction de ce qui dépend des autres .les fichiers dll, qui à son tour dépend davantage sur d'autres .dll et autres fichiers...navigateur + le CEF embeddability interface dont nous dépendons)
la fonctionnalité)
type)
Suivez ce lien pour plus de détails
Vous avez à mettre en copie, à la sortie de' propriétés des fichiers de "copy" ou "copier si plus récent'.
Cette copie tous les fichiers dans le répertoire de sortie, comme indiqué par le Codeur.
Paramètre "msvcp120.dll" et "msvcr120.dll" pour "Copy" m'a aidé.
Dans mon cas, j'étais en suivant les étapes décrites dans CefSharp - Notre Code Monde.
En lieu et place de l'étape A et l'ajout de
CefSharpAnyCpuSupport
danscsproj
etprobing
dansApp.config
il suffit de réglage de laPlatform Target
àx86
dans l'étape B, a fait le tour.