Category: .net

.NET 8.0 已於 11/14 發佈,.NET 8 為 LTS (長期支援版,單數版號如 .NET 7 為 STS,支援週期只有 18 個月 ) 較符合企業應用需求。最近便試著將 .NET 6.0 專案升到 .NET 8.0,原以為可無痛升級,但連續踩坑搞到灰頭土臉,這裡先分享多建構式型別的 D...

寫 Side Project 時踩到一個問題。某物件使用 System.Text.Json 序列化成 JSON,試著用 Json.NET 解析時冒出 "The input is not a valid Base-64 string as it contains a non-base 64 ...

用 C#/PowerShell 呼叫 .exe 程式,透過 StandardOuput、StandardError 讀取程式輸出算是 .NET 基本技巧 (參考:命令列工具的 stdout, stderr 輸出與 .NET 整合應用),理論上要整合各式 CLI 程式都不成問題。今天踢到一塊鐵板,才知...

依先前所學,System.Net.HttpClient 的 GetAsync()/PostAsync()/SendAsync() 等方法為 Thread-Safe,建議做法是只建立一份 HttpClient,以 static 方式共用。 今天踩到雷,以下為重現問題的程式範例。網頁使用 Windows...

身為程序員,一直把「增進人類全體之生活」當成使命,沒能力為人類產生貢獻,能「增進家人之生活」也好。 長輩請了外籍看護,國語跟英文只到勉強溝通,最後 LINE 加翻譯軟體竟是目前效果最好的溝通方式。結果我做了件「用大砲打小鳥」的事 - 用 ASP.NET Core 寫 LINE Bot 接 ChatG...

突發奇想閃過念頭,想把 PDF 投影片逐頁轉成圖檔,索性當成 .NET 練習題伸展暖身,說做就做。 .NET PDF 元件選擇不少,但好用的多是商用軟體,開源專案如 iTextSharp、QuestPDF 新版也改成商業授權,而轉存圖檔不同於編譯修改文件,訴求重點不同,順便趁機認識不同的程式庫。 這...

工作環境有些祖傳專案是用 log4net 寫 Log (後來的專案大多以 NLog 為主 參考 ),前人慣用 RollingFileAppender 的兩種設定方式,第一種是固定檔名,依指定大小分檔(rollingStyle="Size"),舊檔附加 .1、.2 順序編號,類似這...

要調查網站 TLS 憑證無效問題,最直接做法是從瀏覽器安全連線圖示逐步點開檢視憑證內容: 憑證檢視器會顯示憑證信任鏈,可查看根憑證、中繼憑證及伺服器憑證的詳細資料,但要知道憑證的主體(Subject)、簽署者(Issuer)、有效期間、指紋等資訊,需逐一點開才能看到。 今天處理一個案例,需要比對...

日常 .NET 程式開發,若要處理超大數字,ulong 可到 18,446,744,073,709,551,615 (64位元),若還不夠,decimal 支援範圍從 ±1.0 x 1028 to ±7.9228 x 1028,精確度為 28-29 位,對一般應用已如天文數字,足以應付各式需求。 但...

學生時代玩 BBS,曾學過在純文字模式讓文字變色的小密技,但工作後開發程式以網頁、WinForm/WPF 為主,這項能力漸漸從腦中退去。這兩年愛上 CLI,寫 Console Application、PowerShell 的機會變多,重新擁抱終端機純文字模式,是時侯重拾往日技能惹。 這個技巧的學名叫...

Oracle Client 版本問題像鬼魂般揮之不去,x86/x64、11.2/12.1...,歷經多年糾纏,現在遇到 .NET 要連 Oracle,我一律力推改用 Managed ODP.NET。 但老系統多如牛毛,老鳥都知道「If it works, don't touch it!」是有益身心健...

想在伺服器跑一下 Azure AD 登入程式範例,將本機的專案資料夾複製到 Windows Server,用 Chocolatey 安裝 dotnet-sdk、vscode(註:不少朋友問「何不 winget?」,winget 要從微軟商店安裝對 Server 不友善),Server 搖身變成 .N...

先幫沒踩過的同學補充這顆小地雷 - Windows 檔名不分大小寫阱陷。 我們都知道 Windows 的檔案系統不區分大小寫,對 Windows 來說,Logo_TW.png 跟 Logo_tw.png 是同一個檔案。因此,你無法在檔案總管將 Logo_TW.png 更名成 Logo_tw.png、...