См. Документацию: Общее руководство по использованию
Существует несколько решений для включения поддержки AnyCPU.Я использовал следующее:
Сначала установите зависимости через NuGet .
Затем добавьте <CefSharpAnyCpuSupport>true</CefSharpAnyCpuSupport>
к первому PropertyGroup
файла .csproj
содержащий CefSharp.Wpf
PackageReference для элемента управления CefSharp.Wpf.ChromiumWebBrowser
.
Теперь напишите ассемблер сборки, чтобы найти правильные неуправляемые библиотеки DLL в зависимости от текущей архитектуры:
AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;
private Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
{
if (args.Name.StartsWith("CefSharp"))
{
string assemblyName = args.Name.Split(new[] { ',' }, 2)[0] + ".dll";
string architectureSpecificPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
Environment.Is64BitProcess ? "x64" : "x86",
assemblyName);
return File.Exists(architectureSpecificPath)
? Assembly.LoadFile(architectureSpecificPath)
: null;
}
return null;
}
Наконец, инициализируйте CefSharp по крайней мере с этими настройками:
var settings = new CefSettings()
{
BrowserSubprocessPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
Environment.Is64BitProcess ? "x64" : "x86",
"CefSharp.BrowserSubprocess.exe")
};
Cef.Initialize(settings);