在 .NET 10 上 SaveAs() FileNotFoundException

This article was translated from English: Does it need improvement?
Translated
View the article in English

在 .NET 10 的專案中呼叫 WorkBook.SaveAs() 可能會讓 Visual Studio 出現 FileNotFoundExceptionIronXL.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" />
XML

寫入一個單一值並保存以確認行為。

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")
$vbLabelText   $csharpLabel

2. 啟用 Just My Code

打開 Visual Studio 偵錯器選項並啟用 Just My Code。 當它被關閉時,偵錯器會在程式庫內部處理的例外處中斷; 開啟它將允許那些已處理的例外繼續而不打斷您的工作會話。

3. 確認文件已生成

檢查 output.xlsx 是否已寫入您的輸出路徑。 成功的文件表示中斷是一個首次機會例外,而不是執行時錯誤。

.NET XML 序列化關聯的首次機會 FileNotFoundException 可能即便在文件成功生成時也會出現 。

除錯提示

沒有獨立的 IronXL.XmlSerializers NuGet 套件。 不要嘗試新增一個來消除訊息; 這不會解決任何問題,且該組件並不應單獨安裝。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,174,917 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。