CefSharp.WinForms指定了低版本108.4.130,可是生成后的dll版却是121.3.7.0
问题:
CefSharp.WinForms指定了低版本108.4.130
生成的libcef.dll版本却是121.3.7.0,
分析:
之前有指定版本121.3.7.0并生成过。怀疑用的是之前的版本,然后之前的版本的缓存在本地的哪个位置。于是删除项目底下
packages\CefSharp.WinForms.108.4.130
packages\CefSharp.Common.108.4.130
packages\cef.redist.x86.108.4.13
packages\cef.redist.x64.108.4.13
这些文件。
然后断开网络,重新指定108.4.130,发现nuget没网络都能重新获取108.4.130。
可以确定nuget下载的包,一定缓存在本地的哪个位置。
百度一下,发现nuget的本地缓存路径在:%userprofile%\.nuget\packages,例如C:\Users\Administrator\.nuget\package
正常在Visual Studio中引入Nuget包时,会先在缓存文件夹判断,如果存在,就直接复制到项目文件夹下,不存到,就到Nuget服务器下载。
解决:
1、删除掉%userprofile%\.nuget\packages里面的缓存文件。然后重新指定版本108.4.130。这次发现nuget会去重新下载108.4.130了。
但是项目生成的dll还是121.3.7.0。
2、CefSharp.WinForms指定更高的版本,并且之前没有下载过的版本。我这边指定了了131.2.70
同时,cef.redist.x86一定还要留在108.4.130
然后重新生成项目,发现生成的dll已经是108.4.130,但是跟我们的nuget指定的版本还是不一致。
于是重新回来指定CefSharp.WinForms108.4.130。这时在重新生成的dll也是108.4.130了。
总结:
这应该是nuget跟CefSharp的一个bug。CefSharp.WinForms与cef.redist.x86不能一致导致了。切换版本的需要注意。同时知道了nuget在C盘有另外的缓存文件,后续可以指定缓存的路径,或删除,避免大量占用C盘空间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2023-01-10 24、electron 报@electron/remote is disabled for this WebContents. Call require("@electron/remote/main").enable(webContents) to enable it.