Как собрать Aspose.OCR FOSS for .NET из исходного кода
Aspose.OCR FOSS для .NET является открытым исходным кодом: вы можете клонировать репозиторий и собрать его самостоятельно в любое время, независимо от того, когда скомпилированный пакет будет опубликован в реестре пакетов. Это руководство проходит процесс клонирования, сборки, тестирования и ссылки на библиотеку из исходного кода с использованием CLI .NET.
Пошаговое руководство
Шаг 1: Клонирование и сборка
dotnet add package Aspose.OCR.FOSSСборка всех пяти целевых фреймворков (netstandard2.0, net48, net8.0, net9.0, net10.0) требует .NET 10 SDK. Чтобы собрать только один целевой фреймворк, используйте -f:
dotnet build src/Aspose.Ocr.Foss.csproj -c Release -f net8.0Шаг 2: Запуск тестового набора
Запустите полный проект тестов xUnit против только что собранной сборки:
dotnet test Aspose.Ocr.Foss.sln -c Release --no-buildЧтобы запустить только для одного целевого фреймворка:
dotnet test tests/Aspose.Ocr.Foss.Tests.csproj -c Release -f net8.0Шаг 3: Добавьте ссылку на библиотеку из вашего собственного проекта
Самый простой способ использовать сборку из исходников — прямой ссылкой на проект из вашего собственного .csproj:
<ItemGroup>
<ProjectReference Include="..\Aspose.OCR-FOSS-for-.NET\src\Aspose.Ocr.Foss.csproj" />
</ItemGroup>using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
Console.WriteLine(api.Recognize(input)[0].RecognitionText);Шаг 4: (Необязательно) Создать артефакт пакета
build-packages.bat выполняет восстановление, сборку, тестирование и упаковку за один шаг и записывает .nupkg в artifacts\packages:
build-packages.bat --no-pauseИли выполните эквивалентный шаг dotnet pack напрямую после успешной сборки:
dotnet pack src/Aspose.Ocr.Foss.csproj -c Release --no-build -o artifacts/packagesЭто создаёт Aspose.OCR.FOSS.26.10.0.nupkg в artifacts/packages, автономный файл пакета, который вы можете копировать или напрямую ссылаться из других проектов на той же машине.
Общие проблемы и решения
dotnet build завершается с ошибкой missing-SDK на одном из пяти целевых фреймворков. Building net9.0 and net10.0 targets требует .NET 10 SDK. Сборка единственного поддерживаемого таргета с -f net8.0 (или другой установленный таргет), если у вас только более ранний SDK.
Тесты завершаются с ошибкой или пропускаются на данном целевом фреймворке. Тестовый проект нацелен на net48, net8.0, net9.0, и net10.0. Запустите dotnet test tests/Aspose.Ocr.Foss.Tests.csproj -c Release -f net8.0 чтобы изолировать один таргет.
dotnet pack сообщает ожидаемое .nupkg не был создан. Подтвердите, что шаги сборки и тестирования выполнены сначала — dotnet pack with --no-build требует успешной предыдущей сборки.
Часто задаваемые вопросы
Нужно ли публиковать пакет, чтобы использовать эту библиотеку?
Нет. Ссылка на проект src/Aspose.Ocr.Foss.csproj работает так же, как ссылка на пакет в реестре, без ожидания какого-либо шага публикации.
Какой .NET SDK мне нужен?
Для сборки всех пяти целевых фреймворков (netstandard2.0/net48/net8.0/net9.0/net10.0) из одного вызова dotnet build требуется .NET 10 SDK. Более ранние SDK всё ещё могут собрать отдельный поддерживаемый таргет с помощью -f.
Что на самом деле выполняет build-packages.bat?
Четыре шага в порядке: dotnet restore, dotnet build --configuration Release, dotnet test --configuration Release --no-build и dotnet pack --no-build, создающие Aspose.OCR.FOSS.26.10.0.nupkg в artifacts/packages.