Błąd kompilacji ML.OnnxRuntime
Przy korzystaniu z pakietu ZIP IronBarcode, można napotkać następujący błąd:
Error (active) MSB3027
Could not copy "C:\Users\first\.nuget\packages\microsoft.ml.onnxruntime\1.18.1\runtimes\ios\native\onnxruntime.xcframework\ios-arm64_x86_64-maccatalyst\onnxruntime.framework\Headers\onnxruntime_session_options_config_keys.h" to "bin\Debug\net8.0\runtimes\ios\native\onnxruntime.xcframework\ios-arm64_x86_64-maccatalyst\onnxruntime.framework\Headers\onnxruntime_session_options_config_keys.h". Exceeded retry count of 10. Failed.
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets
5034
Powód
Ten błąd występuje, gdy Microsoft.ML.OnnxRuntime nie jest zainstalowany zaraz po dodaniu odniesień projektowych z pliku ZIP IronBarcode i przed skompilowaniem całego projektu. Jest to związane z przekroczeniem maksymalnej liczby prób operacji kopiowania plików, co jest objawem nieprawidłowego skonfigurowania zestawu.
Rozwiązanie
Niestety, ten problem wydaje się być znanym problemem w systemie budowania Microsoftu, i nie ma na niego od razu rozwiązania w obecnym ustawieniu projektu.
Zalecanym podejściem jest stworzenie nowego projektu od podstaw i ponowne zainstalowanie potrzebnych zależności w określonej kolejności, co pomaga zapewnić, że system budowania rozwiąże wszystkie zależności poprawnie i uniknie błędu operacji kopiowania.
Kroki do rozwiązania:
- Stwórz nowy projekt: Rozpocznij na czysto, tworząc nowy projekt w swoim środowisku programistycznym.
- Dodaj odniesienie do projektu do DLL-ów IronBarcode: Włącz biblioteki IronBarcode, dodając odpowiednie odniesienia DLL w ustawieniach projektu.
- Zainstaluj Microsoft.ML.OnnxRuntime: Przed kompilacją zainstaluj pakiet Microsoft.ML.OnnxRuntime. Zazwyczaj można to zrobić za pomocą menedżera pakietów NuGet lub za pomocą linii poleceń z użyciem
dotnet add package Microsoft.ML.OnnxRuntime. - Kompiluj projekt: Po prawidłowym ustawieniu i zainstalowaniu wszystkich zależności, skompiluj projekt. Taka kolejność operacji pomaga zapewnić, że potrzebne komponenty są dostępne dla systemu budowania, aby pracował poprawnie.
Stosując się do tych kroków, można zniwelować problem z kopiowaniem plików i pozwolić procesowi kompilacji zakończyć się sukcesem.

