Wyjątek FileNotFoundException z SaveAs() w .NET 10

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

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" />
XML

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

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.

Zwróć uwagęWyjątek FileNotFoundException pierwszej szansy powiązany z serializacją XML .NET może wystąpić, nawet gdy generowanie plików się powiedzie.

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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,174,917 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Chcesz szybkiego dowodu? PM > Install-Package IronXL.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.