WPF版本問題排坑記錄

WPF版本問題排坑記錄

珍愛生命,遠離不明第三方元件庫。

最後更新 2023/4/17 下午8:00
一位极少露面的靓仔
預計閱讀 3 分鐘
分類
.NET
標籤
.NET C# WPF

本文由網友投稿。

作者:一位極少露面的靓仔

原文標題: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:

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

總結

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

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2025/5/27

WPF完成一個危險提醒效果

當我們寫的程式發放出去後,用戶是在進行一些危險操作,我們的軟體應該給一些提醒效果,比如邊框邊緣有紅色,類似與高德地圖那樣的警報提醒效果

繼續閱讀
同分類 / 同標籤 2024/6/20

CodeWF.EventBus:輕量級事件匯流排,讓通訊更流暢

CodeWF.EventBus,一款靈活的事件匯流排庫,實現模組間解耦通訊。支援多種.NET專案類型,如WPF、WinForms、ASP.NET Core等。採用簡潔設計,輕鬆實現命令的發布與訂閱、請求與回應。透過有序的事件處理,確保事件得到妥善處理。簡化您的程式碼,提升系統可維護性。

繼續閱讀