我正在使用 Cefsharp.Offscreen 构建一个网络抓取应用程序。我使用 Visual Studio 22 和 net framework 6 或 7。我安装了 Cefsharp.Offscreen、Cefsharp.WinForms、Cefsharp.Common、cef.redist.x64 和 cef.redist.x86 作为依赖项。
我有这个代码:
using CefSharp;
using CefSharp.WinForms;
namespace cefsharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitializeChromium();
}
public ChromiumWebBrowser browser;
private void Form1_Load(object sender, EventArgs e)
{
}
private void InitializeChromium()
{
browser = new ChromiumWebBrowser();
browser.LoadUrl("https://google.com");
this.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
}
}
}
当我在 x64 调试模式下运行应用程序时。它在
InitializeChromium()
方法中给出错误。错误的完整描述是“System.IO.FileNotFoundException:'Could not load file or assembly 'CefSharp, Version=112.2.70.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138'。系统找不到指定的文件'
我检查了 /bin 文件夹,但没有看到“cefsharp.dll”文件和其他一些 dll。我想,是因为它。但我不知道如何添加它们。
注意:我在错误列表中有 NU1701 警告。
此外,当我尝试使用
browser = new ChromiumWebBrowser();
更改 browser = new ChromiumWebBrowser("https://google.com");
行时,它给出了 CS0012 错误,描述为“在未引用的程序集中定义的 Htmlstring”,我尝试编辑 app.config 文件,但是无法修复。
我该如何解决这些问题?
我使用 Visual Studio 22 和 net framework 6 或 7。我安装了 Cefsharp.Offscreen、Cefsharp.WinForms、Cefsharp.Common、cef.redist.x64 和 cef.redist.x86 作为依赖项。
对于
.Net Core 3.1/.Net 5/6/7+
,您需要使用NETCore
NuGet 包。您尝试使用的软件包仅支持.Net 4.x
.
从 Visual Studio
中通过
Nuget Package Manager
安装以下其中一项