2024-01-13 03:16 PM 3 4,029
如果你是 .NET 開發者,考個簡單問題: .NET 6+ 寫的程式可以直接參照引用 .NET Framework 編譯的 DLL 嗎? (註:非 .NET Standard,純 .NET Framework 2.0/3.5/4.0/4.5 ~ 4.8,參考:淺談 .NET 類別程式庫跨平台開發) ...
2024-01-08 11:59 PM 1 3,588
幾年前從一篇 VB.NET 超越 C# 文章認識了 TIOBE 程式語言排行,我對 TIOBE 的理解是它依據 Google、維基百科、Bing、Amazon、YouTube... 等平台搜尋 `+" programming" 結果計算而得參考,作為各種程式語言「熱門或受歡迎程...
2024-01-04 11:40 PM 1 1,837
讀者 Galaxy952 分享一則實際經驗:JSON 反序列化時,若出現對映型別上沒有的屬性一般都會選擇無視,但某些資安政策認為 JSON 反序列化容忍未被定義的屬性是一種風險。故詢問 .NET 要如何偵測 JSON 有多餘的屬性參數並回傳錯誤。 舉例來說,若我們的物件有 Id 及 Name 兩個屬...
2023-12-29 11:59 PM 0 2,925
前幾天手機免密碼登入 Google 帳號文章跟讀者討論到手機與電腦間的藍牙究竟只做為距離判斷或是會用來傳輸 WebAuthn 協定,突發奇想,不如監聽一下藍牙封包見真章。 查了網路,倒也不難,買個 nRF52840 USB Dongle 配 Wireshark 即可比照無線線卡抓封包,零件大約 50...
2023-12-21 10:53 PM 1 2,152
讀者 Edward 問了一個有趣問題,花了點時間追查,發現是 TLS 1.2 問題的變形茶包,累積了一些經驗值,簡單整理分享。 錯誤出現在使用 LineBotSDK 傳送 LINE 訊息的超簡單範例,甚至可簡化成一行就好:(參數都是亂給的,不可能傳送成功,正常情況應得到 HTTP 401,在特定環境...
2023-12-18 09:45 PM 0 4,069
講到 .NET 解析 CSV,我習慣用 ServiceStack.Text CsvSerializer 處理,功能與效能都沒啥問題,也就一直沿用至今。今天在 FB 看到相關討論,發現有個我錯過的 CSV 程式庫 - CsvHelper (感謝網友許智涵分享),保哥之前寫過文章分享(參考:使用 C# ...
2023-12-15 10:58 PM 4 5,456
前幾天踩到 System.Data.SqlClient 與 .NET 8 不相容的雷,無奈 System.Data.SqlClient 停更已成事實,要繼續往前走,儘早改用 Microsoft.Data.SqlClient 是上策。 咬牙把某個專案的 System.Data.SqlClient 換成...
2023-12-13 06:57 AM 4 3,770
繼續分享升級 .NET 8 踩坑心得,用以下程式重現問題: using System; using System.Data.SqlClient; var obj = new SomeClass(); var typeNames = AppDomain.CurrentDomain.GetAssem...
2023-12-12 11:59 PM 0 7,055
.NET 8.0 已於 11/14 發佈,.NET 8 為 LTS (長期支援版,單數版號如 .NET 7 為 STS,支援週期只有 18 個月 ) 較符合企業應用需求。最近便試著將 .NET 6.0 專案升到 .NET 8.0,原以為可無痛升級,但連續踩坑搞到灰頭土臉,這裡先分享多建構式型別的 D...
2023-12-06 08:26 PM 0 3,854
寫 Side Project 時踩到一個問題。某物件使用 System.Text.Json 序列化成 JSON,試著用 Json.NET 解析時冒出 "The input is not a valid Base-64 string as it contains a non-base 64 ...
2023-12-03 10:13 AM 1 3,172
用 C#/PowerShell 呼叫 .exe 程式,透過 StandardOuput、StandardError 讀取程式輸出算是 .NET 基本技巧 (參考:命令列工具的 stdout, stderr 輸出與 .NET 整合應用),理論上要整合各式 CLI 程式都不成問題。今天踢到一塊鐵板,才知...
2023-11-23 04:59 PM 1 3,286
依先前所學,System.Net.HttpClient 的 GetAsync()/PostAsync()/SendAsync() 等方法為 Thread-Safe,建議做法是只建立一份 HttpClient,以 static 方式共用。 今天踩到雷,以下為重現問題的程式範例。網頁使用 Windows...
2023-11-05 05:45 PM 2 7,151
身為程序員,一直把「增進人類全體之生活」當成使命,沒能力為人類產生貢獻,能「增進家人之生活」也好。 長輩請了外籍看護,國語跟英文只到勉強溝通,最後 LINE 加翻譯軟體竟是目前效果最好的溝通方式。結果我做了件「用大砲打小鳥」的事 - 用 ASP.NET Core 寫 LINE Bot 接 ChatG...
2023-10-29 09:33 PM 0 3,973
突發奇想閃過念頭,想把 PDF 投影片逐頁轉成圖檔,索性當成 .NET 練習題伸展暖身,說做就做。 .NET PDF 元件選擇不少,但好用的多是商用軟體,開源專案如 iTextSharp、QuestPDF 新版也改成商業授權,而轉存圖檔不同於編譯修改文件,訴求重點不同,順便趁機認識不同的程式庫。 這...
2023-10-22 08:23 AM 0 3,014
工作環境有些祖傳專案是用 log4net 寫 Log (後來的專案大多以 NLog 為主 參考 ),前人慣用 RollingFileAppender 的兩種設定方式,第一種是固定檔名,依指定大小分檔(rollingStyle="Size"),舊檔附加 .1、.2 順序編號,類似這...
2023-10-17 11:09 PM 2 3,004
要調查網站 TLS 憑證無效問題,最直接做法是從瀏覽器安全連線圖示逐步點開檢視憑證內容: 憑證檢視器會顯示憑證信任鏈,可查看根憑證、中繼憑證及伺服器憑證的詳細資料,但要知道憑證的主體(Subject)、簽署者(Issuer)、有效期間、指紋等資訊,需逐一點開才能看到。 今天處理一個案例,需要比對...