Как собрать Aspose.OCR FOSS for .NET из исходного кода

Как собрать 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.

См. также:

 Русский