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盘空间。

 

posted @   ziff123  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 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.
点击右上角即可分享
微信分享提示