Wyjątek FileNotFoundException z SaveAs() w .NET 10
Wywołanie WorkBook.SaveAs() w projekcie .NET 10 może spowodować, że Visual Studio wyświetli FileNotFoundException dla IronXL.XmlSerializers. W większości przypadków jest to wyjątek pierwszej szansy, przechwycony przez debugger, a nie realna awaria wykonania, a plik Excel nadal jest zapisywany. Użyj poniższych kroków, aby potwierdzić, który widzisz, i zatrzymać debugger przed przerwaniem.
System.IO.FileNotFoundException: Could not load file or assembly 'IronXL.XmlSerializers'
Wiadomość pochodzi z testowania serializacji XML w .NET w poszukiwaniu opcjonalnego zestawu serializera, który nie istnieje. Środowisko wykonawcze zarządza błędem wewnętrznie i kontynuuje, więc skoroszyt nadal się zapisuje. Przy wyłączonej funkcji Just My Code, debugger przerywa w momencie podniesienia wewnętrznego wyjątku, co sprawia, że obsłużone zdarzenie wygląda jak awaria.
Rozwiązanie
1. Odtwórz przy minimalnym przepływie pracy
Utwórz nową aplikację ASP.NET Core Web, celującą w .NET 10 i zainstaluj IronXL.Excel wersję 2026.6.1.
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
<PackageReference Include="IronXL.Excel" Version="2026.6.1" />
Zapisz pojedynczą wartość i zapisz ją, aby potwierdzić zachowanie.
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. Włącz Just My Code
Otwórz opcje debugera Visual Studio i włącz Just My Code. Kiedy jest wyłączona, debugger przerywa na wyjątkach, które biblioteka obsługuje wewnętrznie; włączenie jej pozwala, by obsłużone wyjątki przechodziły bez przerywania sesji.
3. Potwierdź, że plik został wygenerowany
Sprawdź, czy output.xlsx został zapisany w ścieżce wyjściowej. Pomyslnie zapisany plik informuje, że przerwanie było wyjątkiem pierwszej szansy, a nie awarią wykonania.
Wskazówki dotyczące debugowania
Nie ma samodzielnego pakietu NuGet IronXL.XmlSerializers. Nie próbuj dodawać, aby usunąć wiadomość; nie rozwiąże to niczego, a zestaw nie jest przeznaczony do instalowania osobno.

