【发布时间】:2021-11-11 04:36:18
【问题描述】:
LinqPad 是我的 goto REPL,没有什么我无法处理的。
但是我一辈子都无法让CefSharp(特别是OffScreen)运行。
我经常遇到以下任一错误
无法加载文件或程序集“CefSharp.Core.Runtime, Version=95.7.141.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138”或其依赖项之一。系统找不到指定的文件。
BadImageFormatException:无法加载文件或程序集“CefSharp.Core.Runtime,版本=95.7.141.0,文化=中性,PublicKeyToken=40c4b6fc221f4138”。试图加载格式不正确的程序。
我试过了
- LP5/6 32 和 64 位
- 通过 nuget 添加 Cefsharp
- 从文件系统手动引用 .dll
- 引用 x86 或 x64 .dll 的
- 将 .dll 复制到程序集搜索路径中
- 将 nuget 路径添加到环境路径
上面的每一种组合看起来都是什么。
我不了解 Visual Studio 与 nuget 包一起使用的程序集解析过程,但无论它做什么,我都希望至少在 Linqpad 中进行模拟,这样我就可以在测试简单的东西时避免 VS 仪式。
我认为手动引用正确的 .dll 并可能在某处设置路径就足够了,但我的想法=>EOF。
CefSharp 可以在 VS/MSBuild 之外运行吗?
【问题讨论】:
-
这似乎使用了各种技巧和不安全的代码,并且可能无法在 VS 之外使用它。如果你真的想这样做,你可以试试这个。 1)下载项目的源代码并在本地构建。然后使用VS,构建一个最小的例子,但使用你的dll(即不是nuget)。最后创建一个引用本地 dll 的 LinqPad 项目并将第一行设置为
System.Diagnostics.Debugger.Launch();这应该允许您调试启动 VS 并调试脚本并可能找到问题。这是很多工作,您需要决定是否值得尝试。
标签: c# nuget linqpad assembly-resolution cefsharp.offscreen