處理型別為介面的 JSON 序列化行為

前陣子我的套件在 GitHub 收到一個 Issue,在使用裡面 ToJson() 這個方法的時候,因為目標屬性是個介面型別,造成原物件的屬性值不會被序列化出來,所以就造成產生出來的 Json 字串無法正確使用了。這裡試著還原當時遇到的情境。

在指定的程式下使用 AutoHotKey 執行快速鍵

一直久聞 AutoHotKey 的強大,但沒有真的下去玩玩看,最近遇到一些情境滿適合的,就稍微來研究看看這套使用 C++ 撰寫的自由軟體,看看他能否解決我所遇到的狀況。

使用 PowerShell 建立修改檔案內容的指令

今天遇到一個奇妙的情況,同事上傳的檔案內容出現一個奇妙的字元亂碼,上傳的程式修正了,但已經上傳的檔案內容需要移除那個奇妙的字元,因此想用 PowerShell 寫一隻指令來處理看看,順便也補充一下 PowerShell 知識。

修改 VSCode 預設的程式碼高亮樣式

Visual Studio Code 的功能相當強大,也是我平時拿來寫筆記、寫文件的工具之一,但他預設的程式碼高亮在 Markdown 文件有個小問題,就是沒有將斜體標上顏色,所以這篇打算來修改一下 VSCode 預設的程式碼高亮樣式。

強迫開啟 Edge/Chrome 記憶密碼功能

組織為了統一瀏覽器設定,可以將一些通用原則設定套用到 Microsoft Edge 或 Chrome 瀏覽器之中,以達到方便管理的需求,不過如果記憶密碼功能順便被停用了,這可是會讓金魚腦的我一時不知所措,好佳在有辦法針對特定功能強迫啟動,有需要的使用者可以參考看看。

使用 dynamic 做 ASP.NET Core API 的資料繫結

在開發表單型系統的時候,尤其是專案初期,表單的格式一直在改變,有時候增加欄位,有時候又要修改欄位,而在前後端分離的架構下,每改一次前後端的資料模型就要跟著動一次,改到最後其實有點煩躁,於是開始思考能否用 dynamic 型別來接收這一直還沒確定下來的資料模型物件,於是出現了這篇方法。

在 ASP.NET Core 專案中改用 JSON.NET 做資料繫結

如果是使用 .NET Core 3 以上版本,System.Text.Json 已經預設包含在裡面,當然也就使用它來做資料繫結了,不過有時候會懷念以前 JSON.NET 所提供的好用特性,這篇介紹如何將 ASP.NET Core 專案中改用 JSON.NET 來做 JSON 資料繫結。

快速重新安裝並更正 .NET Framework 專案中的套件版本資訊

開發 .NET Framework 專案的時候,仔細看專案中的套件版本,你會發現在 app.configweb.config 這些檔案中的 AssemblyBinding 區段,會註明該套件是給哪一個 .NET Framework 版本用的,有時這會造成一些問題,這裡有個小技巧,可以讓我們快速更新這套件版本資訊。

在 ASP.NET Core Blazor 應用程式中使用 CSS Isolation

這個月迎來了 .NET 5 的同時,Blazor 也開始支援在元件中使用 CSS Isolation,讓你可以自訂某一個元件下的 CSS 樣式,如此一來更能規劃好整個網站程式碼,並且複用元件。

使用 Magick.NET 找出兩張圖片的差異

開發人員熟習的 Git 版控系統有優秀的文字差異,但對於圖片的差異比較就無能為力了,在探索這議題的時候,發現了一個有趣的工具 ImageMagick,他可以操作超過 200 種以上的圖片格式,例如縮放、旋轉、調整顏色、加上文字等,又剛好他有給 .NET 開發者的套件 Magick.NET,因此想說用這套工具來試試看找出一張圖片的前後差異。