【发布时间】:2022-01-15 02:48:55
【问题描述】:
我正在尝试创建一个使用 cefsharp 的 .net forms 应用程序,但所有 cefsharp 依赖项都将放置并从特定目录使用 在 PC 上(假设是 C:\Chromium)
我看过一些条目,但几乎所有条目都是古老的,并且使用的是非常旧的 cefsharp 版本。
如何使用 cefsharp 96.0.142 实现这一目标?
我已经试过了
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="libs"/>
</assemblyBinding>
但它不起作用。我试图将 C:\Chromium 目录放入 PATH 环境变量,但它也不起作用。我总是以
System.IO.FileNotFoundException: '无法加载文件或程序集'CefSharp.WinForms'
喜欢例外。这看起来很简单,但我真的被卡住了。
任何想法都会非常有帮助。提前致谢
EDIT#1 代码片段
this.chromiumComponent = new CefSharp.WinForms.ChromiumWebBrowser();
this.SuspendLayout();
//
// chromiumComponent
//
this.chromiumComponent.ActivateBrowserOnCreation = false;
this.chromiumComponent.Dock = System.Windows.Forms.DockStyle.Fill;
this.chromiumComponent.Location = new System.Drawing.Point(0, 0);
this.chromiumComponent.Name = "chromiumComponent";
this.chromiumComponent.Size = new System.Drawing.Size(800, 450);
this.chromiumComponent.TabIndex = 0;
我从 C:\Chromium 目录引用 CefSharp、CefSharp.Core、CefSharp.WinForms dll。我的意图不是从项目的子文件夹中加载 dll。而不是这样,我想将 dll 放到一个通用目录(如 C:\Chromium)和我的应用程序以从该目录中使用它们。
【问题讨论】:
-
探测 privatePath 仅适用于子/子文件夹。您究竟是如何尝试从 c:\chromium 加载的?你的代码是什么样的?
-
查看 github.com/cefsharp/CefSharp/discussions/3371 以了解探索 privatePath 示例
-
@amaitland 我的意图不是从项目的子文件夹中加载 dll。我想将它们放在一个目录中,并让我的应用程序从该目录加载 dll。谢谢
标签: c# .net chromium cefsharp chromium-embedded