本文由網友投稿。
作者:一位極少露面的靓仔
原文標題: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:

最後,重啟專案,完美解決並成功執行:


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