onnxruntime/csharp/sample/InferenceSample
Scott McKay 5fc60f36f2
Update to the net8 MAUI targets. Remove Xamarin. (#21062)
### Description
<!-- Describe your changes. -->
Xamarin is EOL so remove support.
The MAUI targets are EOL and need updating.
https://dotnet.microsoft.com/en-us/platform/support/policy/maui

Other cleanups:
- netcoreapp3.1 is EOL
- the net6 macos target was added in the mistaken belief that was for
MAUI mac support, but that is actually via the mac-catalyst target which
we recently added support for.
- some CIs that were using the old build setup of splitting pre-net6
targets. The ORT C# bindings csproj was updated last year and the
`PreNet6` and `SelectedTargets` properties no longer exist as they were
replaced by the simpler `IncludeMobileTargets` property.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Remove EOL components.
#21058
2024-06-19 16:20:58 +10:00
..
Microsoft.ML.OnnxRuntime.InferenceSample [C#] Rename unreleased API, add utilities (#16806) 2023-08-02 10:06:42 -07:00
Microsoft.ML.OnnxRuntime.InferenceSample.Maui Update to the net8 MAUI targets. Remove Xamarin. (#21062) 2024-06-19 16:20:58 +10:00
Microsoft.ML.OnnxRuntime.InferenceSample.NetCoreApp Update to the net8 MAUI targets. Remove Xamarin. (#21062) 2024-06-19 16:20:58 +10:00
readme.md Update Xamarin sample code (#9925) 2021-12-07 16:18:58 +10:00

To test the iOS or Android samples the native build of ONNX Runtime is required and must be in a specific location.

Only the native build for the platform you are testing on is required. e.g. if you're testing using an Android device that is arm64, you only need the libonnxruntime.so for arm64-v8a. The version of the native build should match the checked-out version of the ONNX Runtime repository you're currently using as closely as possible. Otherwise mismatches with the native entry points is possible and could cause crashes.

To acquire the native build you can:

  • build it yourself
    • Android build instructions
    • iOS build instructions
  • extract it from the Microsoft.ML.OnnxRuntime nuget package using NuGetPackageExplorer
    • release version is here
    • integration test version is here
      • this is frequently updated and should work if you're currently using the master branch of ONNX Runtime
  • or if you have access to the internal packaging pipelines
    • the Zip-Nuget-Java-Nodejs Packaging Pipeline produces the native package as an artifact under drop-signed-nuget-CPU
      • run a build for your current branch in the pipeline to ensure the native build matches exactly

For iOS the native build should be at one or more of:

  • \build\iOS\iphoneos\Release\Release-iphoneos\onnxruntime.framework for an iOS device
  • \build\iOS\iphonesimulator\Release\Release-iphonesimulator\onnxruntime.framework for an iOS simulator

For Android the native build should be at one or more of:

  • \build\Android\arm64-v8a\Release\libonnxruntime.so for an 64-bit arm device
  • \build\Android\armeabi-v7a\Release\libonnxruntime.so for an 32-bit arm device
  • \build\Android\x86\Release\libonnxruntime.so for an x86 Android emulator
  • \build\Android\x86_64\Release\libonnxruntime.so for an x86_64 Android emulator