發表文章

目前顯示的是 10月, 2025的文章

📟.NET 8 專案 MSB3030「無法複製 appsettings.Development.json」:publish 巢狀遞迴的完整排錯與修正指南

  重點摘要 你的 dotnet run / build 報錯 MSB3030:找不到要複製的 appsettings.Development.json 。 真正原因是: 專案把 publish/ (甚至 out/ )目錄也當成專案來源來「再發佈一次」 ,形成 publish\publish-...\publish-... 的 無限巢狀 與「來源檔不存在」。 兩步就好: 清掉殘留 :刪除 bin/ 、 obj/ 、 publish/ 。 改 .csproj :加 DefaultItemExcludes 排除 publish/out ,並「白名單」只處理根目錄的 appsettings*.json ,同時把 bin/obj/publish/out 從各 Items 移除。 問題現象(錯誤訊息) 你的主控台長這樣(節錄重點): error MSB3030: 無法複製檔案 C: \...\publish\publish-...\publish-...\appsettings.Development.json, 因為找不到檔案。 注意到那串超長路徑嗎? publish\publish-...\publish-... 一層套一層,就是自我遞迴的典型症狀。 為什麼會發生? ASP.NET Core 的 Microsoft.NET.Sdk.Web 會「自動收錄」很多檔案(Default Items)。 如果你或某個外部共用設定(例如 Directory.Build.targets/props )有這類萬用字元: **\*.json 、 **\*.* 或自訂 <Copy> / AfterPublish 把 publish 當「來源」 再複製一次 就可能把 上一次發佈產生的 publish/ 當作這次建置的 來源 ,造成: publish 裡面又包含 publish (無限巢狀) 尋找「來源檔」時,路徑越疊越長、實際又不存在 → MSB3030 最快解法(保險且通用) 1) 先清乾淨 這次改用 CMD 指令 與跨平台清理,與上一版不同寫法 :: Windows CMD rmdir /s /q .\bin rmdir /s /q .\o...

🧾修復 Vue + SheetJS 匯出表頭錯位:讓「評估明細_LCM」回到 Excel 抬頭

  內容 摘要 使用 Vue 3 + SheetJS (xlsx) 匯出 Excel 時,如果第一列的 群組表頭 與 !merges 的合併範圍沒有 一一對齊 ,Excel 會以 合併區塊左上角儲存格 當作標題,導致像「 評估明細_LCM 」這樣的抬頭被前一組覆蓋、看起來「消失」。本文用 完整重寫 (與你現有實作 完全不同 、但輸出 格式相同 )的範例程式碼示範如何修正,並提供可維護的設定化做法。 問題與成因(為什麼 LCM 抬頭會不見?) Excel 的合併儲存格以 左上角 為主標。 若你把「LCM 群組」的合併區設在第 21~25 欄,但 groupRow[21] 仍顯示上一組(例如 TFT),Excel 就會把整塊 21~25 顯示成 TFT, LCM 自然不會出現 。 解法就是: 群組標籤的欄位索引 要與 合併範圍 完全一致。 ...

🧾Vue 3 表格加上「PRODUCT_ID 模糊搜尋」:一次修好搜尋沒效果與其他篩選失靈

  摘要 在專案中,我們要在 PRODUCT_ID 的下拉面板加入「模糊搜尋」,同時保留: 多欄位勾選篩選(含全選/全不選) 全文關鍵字 searchTerm Pinia 跨頁同步 APS_PLAN_NO 區段合併與 TFT5 依 TFT4 群組加總僅首列顯示 匯出 Excel(群組表頭、合併、千分位) 本文先說明錯誤根因,再給你 全新匿名版、但畫面/格式相同 的 PageOne.vue 。直接貼上即可運行。 問題現象 ...