本文由網友投稿。
作者:一位極少露面的靚仔
原文標題:wpf 版本問題排坑記錄
原文連結:https://www.cnblogs.com/akwkevin/p/17288814.html
本文由网友投稿,文中示例仓库:Dotnet9WPFControls,使用介绍:WPF|快速添加新手引导功能(支持 MVVM),示例正常运行扣 1,失败扣 0,并留下吐嘈....
原文如下:
先說結論:珍愛生命,遠離不明第三方組件庫【站長:。。。】
問題描述
今早摸鱼的时候看见狼哥一个开源项目Dotnet9WPFControls,我非常感兴趣!结果 clone 下来之后,没跑起来?嗯?我姿势不对?好!我再跑!结果还是 run 不起来,无奈求教狼哥本人,狼哥亲自 clone 之后没在他的机器上重现我这个 bug。因为报错的这个库是 nuget 拉下来的,我们先看报错截图:

排坑之旅
第三方庫是:"materialdesignthemes.wpf”
問題已經很明顯了,是因為庫的依賴出現的程式集版本不對所引起的,我們只需要找到這個 presentationframework 然後找到相應版本就行了,問題似乎很清晰明了。
好的,我們按照上述思路,開始操作:
先查詢當前所引用的 presentationframework 在本地機器上的存儲位置:

於是我們進入此文件目錄:

一開始並沒有 6.0.2 和 6.0.16 這個文件夾,這是後面我解決這個問題所下載的。
然後我們點進文件夾,發現:

這個 presentationframework 就是報錯的 6.0.0 版本,於是按照我們上述的解決思路,我們只需要將這個替換成 6.0.2 版本問題不就解決了嗎?
新的問題來了
於是說干就干,但新的問題來了,6.0.2 版本的 presentationframework 我去哪裡找?
我觀察了下 presentationframework 的其他幾個類似 dll,發現這個 6.0.0 是和 .net sdk 的版本掛鈎的,也就是說我下載 net6.0.2 的 sdk 就可以找到 presentationframework6.0.2 版本。
於是前去微軟官網下載:

這裡下載請注意,我經過測試,下載右邊的桌面運行時是沒用的,必須下載左邊的。
解決他
下載完後,我們怎麼替換引用呢?
很簡單,我想到了一個很狗但是非常方便的方法(因為我只是想運行這個項目,不涉及 release 所以可以這樣做,但如果你需要 release 請務必禁止這樣做!)
沒錯,就是文件重命名,下載完 6.0.2 版本後我們的引用文件夾長這樣:

我們來個狸貓換太子!
把 6.0.2 改成 6.0.0:

最後,重啟項目,完美解決並成功運行:


總結
站長這也是新電腦環境,運行正常,歡迎留言討論。