在 .NET 10 上 SaveAs() FileNotFoundException
在 .NET 10 的專案中呼叫 WorkBook.SaveAs() 可能會讓 Visual Studio 出現 FileNotFoundException 給 IronXL.XmlSerializers。 在大多數情況下,這是由偵錯器捕捉的首次機會例外,而不是真正的執行時錯誤,Excel 文件仍然會寫入。 使用以下步驟確認您看到的是什麼,並防止偵錯器在此中斷。
System.IO.FileNotFoundException: Could not load file or assembly 'IronXL.XmlSerializers'
消息來自於 .NET XML 序列化中對可選序列化器組件的探測,而這個組件不存在。執行時會內部處理此錯誤並繼續,因此工作簿仍然保存。 當 Just My Code 被禁用時,偵錯器會在內部例外拋出時中斷,導致被處理的事件看起來像崩潰。
解決方案
1. 使用簡單的工作流程重現
建立一個目標為 .NET 10 的新的 ASP.NET Core Web Application 並安裝 IronXL.Excel 版本 2026.6.1。
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
寫入一個單一值並保存以確認行為。
using IronXL;
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.DefaultWorkSheet;
sheet["A1"].Value = "Hello, World";
workbook.SaveAs("output.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.DefaultWorkSheet;
sheet["A1"].Value = "Hello, World";
workbook.SaveAs("output.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
sheet("A1").Value = "Hello, World"
workbook.SaveAs("output.xlsx")
2. 啟用 Just My Code
打開 Visual Studio 偵錯器選項並啟用 Just My Code。 當它被關閉時,偵錯器會在程式庫內部處理的例外處中斷; 開啟它將允許那些已處理的例外繼續而不打斷您的工作會話。
3. 確認文件已生成
檢查 output.xlsx 是否已寫入您的輸出路徑。 成功的文件表示中斷是一個首次機會例外,而不是執行時錯誤。
.NET XML 序列化關聯的首次機會 FileNotFoundException 可能即便在文件成功生成時也會出現 。
除錯提示
沒有獨立的 IronXL.XmlSerializers NuGet 套件。 不要嘗試新增一個來消除訊息; 這不會解決任何問題,且該組件並不應單獨安裝。

