SaveAs() FileNotFoundException on .NET 10
Llamar a WorkBook.SaveAs() en un proyecto .NET 10 puede hacer que Visual Studio muestre un FileNotFoundException para IronXL.XmlSerializers. En la mayoría de los casos, se trata de una excepción de primera oportunidad capturada por el depurador, no un fallo real de ejecución, y el archivo Excel aún se escribe. Use los pasos a continuación para confirmar cuál está viendo y detener que el depurador se detenga en él.
System.IO.FileNotFoundException: Could not load file or assembly 'IronXL.XmlSerializers'
El mensaje proviene de la serialización XML de .NET que busca un ensamblado de serializador opcional que no existe. El tiempo de ejecución maneja la omisión internamente y continúa, por lo que el libro de trabajo aún se guarda. Con Just My Code deshabilitado, el depurador se detiene en el momento en que se genera la excepción interna, haciendo que un evento manejado parezca un fallo.
Solución
1. Reproducir con un flujo de trabajo mínimo
Cree una nueva aplicación web ASP.NET Core dirigida a .NET 10 e instale IronXL.Excel versión 2026.6.1.
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
Escriba un solo valor y guárdelo para confirmar el comportamiento.
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. Enable Just My Code
Abra las opciones del depurador de Visual Studio y habilite Just My Code. Cuando está desactivado, el depurador se detiene en las excepciones que la biblioteca maneja internamente; activándolo deja que esas excepciones manejadas pasen sin interrumpir su sesión.
3. Confirmar que el archivo fue generado
Verifique si output.xlsx fue escrito en su ruta de salida. Un archivo exitoso le dice que la interrupción fue una excepción de primera oportunidad, no un fallo de ejecución.
Consejos para depuración
No hay un paquete NuGet independiente IronXL.XmlSerializers. No intente agregar uno para borrar el mensaje; no resolverá nada y el ensamblado no está destinado a ser instalado por separado.

