2020-05-31 09:50 AM 0 3,989
寫 PowerShell Script 時,針對較複雜或步驟較多的作業,我會在執行過程加上 Write-Host 或 Write-Output 顯示一些資訊,一方面是回報進度可避免操作者茫然焦慮,另一方面,若發生錯誤,這些線索是判斷問題點的重要依據。 PowerShell 新手的疑問是: Write...
2020-05-30 08:10 AM 2 13,796
計劃把原本的手工部署與設定操作逐步轉成 PowerShell Script。這樣做有幾個好處: 作業標準化,避免人為失誤 寫成腳本,不管誰來操作結果都一致,不會無人交接手藝失傳,也排除腦殘眼拙手滑出錯的風險, 大量部署或需重複執行時可節省可觀時間 例如要部署上百台機器的場合。 可設定排程自動化部署...
2020-05-28 10:06 PM 4 6,729
學到一則有點驚悚的資安知識 - ASP.NET DLL 有可能因為管理操作不當,被人從 IIS 下載外流! 我們都知道 DLL 放在 ASP.NET bin 目錄時被視為程式,跟 App_Data 一樣具有特殊性,不能透過 httq://web-server/bin/Blah.dll 方式用瀏覽器下...
2020-05-24 11:52 AM 1 2,913
PowerShell 可以無縫整合 .NET 程式,威力無窮。但這也導致很多時候我搞不清楚這裡可以直接用 C# 寫法,還是該照 PowerShell 的規矩來? 新手上路階段,我最常踩到的坑就是多參數 PowerShell 函式的寫法。例如下面這段程式,大家猜猜輸出的結果是什麼? Hell? fun...
2020-05-23 12:23 PM 0 2,679
最近常在寫自動化及半自動化工作腳本,愈發覺得 PowerShell 好用,尤其能無縫整合 .NET 程式庫這點讓它威力無極限。但也開始學到一些實用但我之前沒學過的用法,會在 PowerShell FAQ 系列陸續整理分享。 【問題】PowerShell Function 如何接收外部函式作為輸入參數...
2020-05-22 08:55 PM 0 4,138
同事報案,某支 DOS Batch 排程無法執行,出現錯誤代碼 2147942667: Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "" of...
2020-05-21 10:24 PM 5 3,154
說來也算 .NET 的笨問題,但我第一時間竟有些迷惑,做個實驗強化信念。 疑問是下圖中的 Prop1、Prop2 是否每次取用都會重新執行,傳回不同結果? 完整程式如下: using System; using System.Collections.Generic; using System.Di...
2020-05-20 09:00 PM 0 1,876
前一篇文章我學到一個 .NET 組件編譯名詞 - Determinism。是指 .NET 編譯組件時停用加入 Timestamp 及隨機產生的 GUID 的做法,改以原始碼內容、工作路徑... 等條件為依據,確保相同程式碼在相同環境編譯出來的組件二進位內容完全一致,這有助於識別組件是否來自可信任來源...
2020-05-19 09:20 PM 0 3,294
在 Visual Studio 2019 想將 .NET Framework 專案設定版號自動跳號時卡住。 AssemblyInfo.cs [assembly: AssemblyVersion()] 上方的註解明明還提示可以寫成 1.0.* 讓系統自動跳號產生第三及第四段的 Build 及 Rev...
2020-05-18 09:47 PM 11 15,224
這是改寫 ASP.NET Core 後的一大困擾,ASP.NET Core 預設會將 .cshtml 編譯成 YourApp.Views.dll,不再像以前可以直接修改 Views 資料夾下的 .cshtml,重新整理瀏覽器就看修改後的結果。必須停止偵錯,重新編譯執行才會更新。 這項調整讓我的前端程...
2020-05-13 09:59 PM 0 5,430
在 VS2019 (版本 16.3.9) 開了新的單元測試專案,在 Test Explorer 可以看到測試方法,但測試無法執行。按下測試鈕後,測試無聲無息結束,執行測試數為 0,也沒傳回錯誤。同一個 Solution 有另一個 .NET Core 寫的 MSTest 單元測試 則一切正常測試。 O...
2020-05-12 08:26 PM 0 25,373
同事報案,某個排程執行有錯,錯誤訊息如下。 失敗的應用程式名稱: AppCrash.exe,版本: 1.0.0.0,時間戳記: 0x84a8515b 失敗的模組名稱: KERNELBASE.dll,版本: 10.0.18362.535,時間戳記: 0x5bd9df62 例外狀況代碼: 0xe0434...
2020-05-11 10:45 PM 0 4,065
先懺悔一下好了。前篇討論 LINQ 邏輯執行時機的文章不小心示範了「好寫好用但不該推廣的技巧,」但未加註「叔叔有練過,小朋友不要學」或「叔叔在寫 Side Project,不會害到人」警語,恐有誤導之嫌。撰文前其實曾閃過「是否不妥」的念頭,但想想覺得還好便沒放心上。貼文後讀者 Shu Huan Hu...
2020-05-10 09:25 AM 4 5,639
分享我前幾天犯下的 LINQ 低級錯誤。 程式需求是從外界拿到一個型別為 Dictionary<string, string> 的 IP 對應表,我想跑迴圈檢查其中 IP 地址字串是否都合法,而專案裡剛好有個 ParseIp() 函式是用 IPAddress.TryParse() 解析傳...
2020-05-09 09:29 AM 8 3,196
在同事的 LINE 群組看到這個據說是小三的趣味數學題(是國小三年級啦,有人是衝著狐狸精才點進來看的嗎?)。 請在下列方格內填入 1-9 的數字以滿足等式: 應該可以用相乘、相加不可超過百位數的限制先過濾掉一些組合再嘗試排列求解,BUT... 小孩子才用紙筆,我偏要用 Coding 早上晨跑腦袋閒...
2020-05-07 09:30 PM 2 4,656
同事報案,遇到一宗罕見的 .NET Namespace 命名衝突問題,我用以下專案結構模擬案發現場: 專案 Darkthread.Mobile 參照了 Utility 與 Darkthread.Utility 兩個 Class Library 專案。 Utility 專案有個 Uitlity.Re...