如何解决无法部署 CefSharp - CefSharp.Core.Runtime.dll
我创建了一个新的控制台项目并使用 NuGet 添加了 CefSharp.Common
和 CefSharp.OffScreen
。
static void Main(string[] args)
{
try
{
ChromiumWebbrowser Chromium = new ChromiumWebbrowser("www.google.com");
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.WriteLine(ex.Message);
}
Console.WriteLine("Test Complete Press Enter to Close Window");
Console.ReadLine();
}
然后我发布了该项目并尝试运行它,但收到此错误:System.IO.FileLoadException: A procedure imported by 'CefSharp.Core.Runtime.dll' Could not be loaded.
CefSharp_Test.exe
CefSharp_Test.exe.config.deploy
CefSharp_Test.exe.deploy
CefSharp_Test.exe.manifest
CefSharp.Core.dll.deploy
CefSharp.Core.Runtime.dll.deploy
CefSharp.dll.deploy
CefSharp.Offscreen.dll.deploy
我看到 CefSharp 最近推动了一项创建 CefSharp.Core.Runtime.dll
- https://github.com/cefsharp/CefSharp/issues/3319 的更改,我认为该问题在某种程度上与 CefSharp 确定 x86 或 x64 Runtime.dll
应该是使用过,但我一直无法找到解决问题的方法。
该项目在 Visual Studio 中运行时没有问题。
编辑 - 从 CefSharp 自述文件看来,libcef.dll
、icudtl.dat
、CefSharp.browserSubprocess.exe
和 CefSharp.browserSubprocess.Core.dll
是必需的依赖项。我已将这些文件添加到项目中,设置为始终复制,然后重新发布。错误现在显示为 System.IO.FileNotFoundException: Could not load file or assembly 'CefSharp.Core.Runtime.dll' or one of its dependencies. The specified module Could not be found.
编辑 - 这似乎是一个已知问题,将在 CefSharp 的未来版本中修复。 https://github.com/cefsharp/CeSharp/pull/3391
编辑 - 我尝试使用 CefSharp v88.2.40-pre 运行它并收到相同的错误。
编辑 - CefSharp v88.2.40 已经发布。我试图用它运行并收到相同的错误。
解决方法
我今天在执行cefsharp更新时遇到了同样的错误。我删除了cef.redist.x64、cef.redist.x86、CefSharp.Common和CefSharp.WinForms插件。然后我从nuget包管理器中重新安装了CefSharp.WinForms插件窗口。
又报了同样的错误。然后我查看了插件版本。cef.redist.x64、cef.redist.x86版本和CefSharp.Common、CefSharp.WinForms版本之间存在差异。因为NuGet Package Manager,安装了CefSharp.Common 和 CefSharp.WinForms 插件的稳定版本。
我一次又一次地删除插件。我检查了包源。我什至尝试了替代方案。最后,我尝试通过包管理器控制台安装插件。我分别安装了以下插件。
Install-Package cef.redist.x86
Install-Package cef.redist.x64
Install-Package CefSharp.Common
Install-Package CefSharp.WinForms
cef.redist.x86 和cef.redist.x64 扩展安装没有任何问题。安装CefSharp.Common 扩展时,我再次出错。因为控制台正在尝试安装稳定版本。
我从 nuget 包管理器窗口中选择了最新版本的 CefSharp.Common 和 CefSharp.WinForms 插件并安装了它们。最后我能够毫无错误地运行我的项目。
注意:我是为winform做的。如果和我的版本有差异,你应该试试。 :)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。