在 .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 序列化来自不存在的可选序列器程序集的探测。这一缺失由运行时内部处理并继续,因此工作簿仍然会保存。 在仅我的代码禁用的情况下,调试器会在内部异常抛出时中断,使得已处理的事件看起来像崩溃。
解决方案
1. 使用最小工作流程重现
创建一个新的 ASP.NET Core Web 应用程序,目标为 .NET 10,并安装 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. 启用仅我的代码
打开 Visual Studio 调试器选项并启用仅我的代码。 关闭时,调试器会在库正在内部处理的异常上中断; 开启时,可以让这些已处理的异常通过而不中断您的会话。
3. 确认文件已生成
检查 output.xlsx 是否已写入您的输出路径。 成功的文件表明中断是初次机会异常,而非运行时失败。
调试提示
没有独立的 IronXL.XmlSerializers NuGet 包。 不要尝试添加一个来清除信息; 这不会解决任何问题,该程序集并不打算单独安装。

