【发布时间】:2019-07-12 07:39:37
【问题描述】:
使用 CEFSharp 浏览器构建应用程序,在我的机器上运行良好,但在服务器上崩溃并出现以下错误:
System.IO.FileLoadException:无法加载由“CefSharp.Core.dll”导入的过程。
我在整个互联网上都看到过这个问题,最常见的解决方案似乎是安装 VC++ Redistributable。但是,我在我们的生产服务器上没有该访问权限。在开发服务器中,我尝试安装可重新分发的(x86、x64、2017 和 2013),但没有任何区别。电脑是 64 位的,但应用程序是 32 位的,所以我什么都试过了。
谁能告诉我需要将哪些文件添加到应用程序目录中才能使 CEFSharp 正常工作。本文档的第 6 节:https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#6-how-do-i-include-the-visual-studio-c-2012-redistributables-on-the-target-app 列出了必要的文件目录,但我使用的是 Visual Studio 2017,并且我的机器上没有这些目录。
附加信息:
开发机Windows 10,服务器2016 Standard
构建设置为 x86,未对任何 CPU 模式进行任何配置更改
Windows 窗体应用程序
来自 NuGet 的 CefSharp 版本 71.0.0(以及单独通过包管理控制台 Simple CefSharp application is missing files at runtime)
不使用任何类型的包或 ClickOnce 部署,手动 将所有文件从我的计算机上传到服务器
更新:
虽然我仍然无法让 CEFSharp 在我的项目中工作,但我接受了 Peter Liapin 的回答,因为它确实回答了我提出的问题。现在我知道将 VC++ Redistributable 中的哪些文件复制到服务器上的应用程序文件夹中,我只是在我的计算机或服务器上没有他提到的特定 dll。
此外,我使用 CEFSharp 创建了一个新的测试 Windows 窗体项目,它可以在没有 VC++ Redistributable dll 的服务器上运行。但是,我需要 CEFSharp 浏览器在现有应用程序引用的用户控件中工作。
【问题讨论】:
标签: cefsharp chromium-embedded software-distribution