dotnet / machinelearning

ML.NET is an open source and cross-platform machine learning framework for .NET.
https://dot.net/ml
MIT License
9.02k stars 1.88k forks source link

ML.TimeSeries nuget packages cause WACK (Windows App Cert Kit) fail on release build #6873

Open Braysoft opened 11 months ago

Braysoft commented 11 months ago

I have tried including the ML.Mkl.Components Nuget but this and all versions of ML.Timeseries upto and including the latest prerelase also fail.

To Replicate the issue create a blank UWP project in VS,add the timeseries nuget along with ML.net. Then release build (create app package) with .NET native compiler. Use latest WACK to test:

FAILED Supported APIs Error Found: The supported APIs test detected the following errors: API K32EnumProcessModules in kernel32.dll is not supported for this application type. libiomp5md.dll calls this API. API GetDllDirectoryA in kernel32.dll is not supported for this application type. MklImports.dll calls this API. Impact if not fixed: Using an API that is not part of the Windows SDK for Microsoft Store apps violates the Microsoft Store certification requirements. How to fix: Review the error messages to identify the API that is not part of the Windows SDK for Microsoft Store apps. If the DLL listed is an allowable redistributable from a NuGET package, SDK or other toolkit, did you forget to add the DLL to your app? Please note, apps that are built in a debug configuration or without .NET Native enabled (where applicable) can fail this test as these environments may pull in unsupported APIs. Retest your app in a release configuration, and with .NET Native enabled if applicable. See the link below for more information: Alternatives to Windows APIs in Microsoft Store apps.

Any workarounds or similar would be very helpful!