mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-26 22:35:43 +00:00
CP Fixes to enable C# UWP Apps to install the Microsoft.AI.MachineLearning Package (#7129)
* Fix app packaging in UWP (#6804) * Change msbuild condition for UAP * update .netcore target as well * create nuget packages with _native path * validate path under _native directory for windowsai package * pep8 * add diagnostic error message * pep8 * use baseame * lib\uap10.0 * uap10 * build\\uap10.0 * Manually binplace winmds into appx when PackageReference is used. * always binplace winmd regardless of packagereference since c# should work with packages.config also * resolve all paths to full paths to avoid some reference warnings * move winmds out of lib folder to prevent automatic component registration Co-authored-by: Sheil Kumar <sheilk@microsoft.com> * Only set _native folder for Microsoft.AI.MachineLearning package (#6939) * only set _native folder for Microsoft.AI.MachineLearning package Co-authored-by: Sheil Kumar <sheilk@microsoft.com> Co-authored-by: Tiago Koji Castro Shibata <ticastro@microsoft.com> Co-authored-by: Sheil Kumar <sheilk@microsoft.com> Co-authored-by: Changming Sun <chasun@microsoft.com>
This commit is contained in:
parent
6c61d2e57c
commit
5bc92dff16
5 changed files with 65 additions and 51 deletions
|
|
@ -9,10 +9,11 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RuntimesDirectory Condition="'$(OutputType)' == 'AppContainerExe'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\uap</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(RuntimesDirectory)' == ''">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\native</RuntimesDirectory>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\Microsoft.AI.MachineLearning.dll</WindowsAIBinary>
|
||||
<OnnxRuntimeBinary>$(RuntimesDirectory)\onnxruntime.dll</OnnxRuntimeBinary>
|
||||
<RuntimesDirectory Condition="'$(TargetPlatformIdentifier)' == 'UAP'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\lib\uap10.0</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(TargetPlatformIdentifier)' != 'UAP'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\_native</RuntimesDirectory>
|
||||
<WindowsAIBinarySubfolder Condition="'$(UseWindowsMLStaticRuntime)' == 'true'">static\</WindowsAIBinarySubfolder>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)Microsoft.AI.MachineLearning.dll</WindowsAIBinary>
|
||||
<OnnxRuntimeBinary>$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)onnxruntime.dll</OnnxRuntimeBinary>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CopyMLBinaries" BeforeTargets="CoreBuild">
|
||||
|
|
|
|||
|
|
@ -6,10 +6,16 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RuntimesDirectory Condition="'$(OutputType)' == 'AppContainerExe'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\uap</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(RuntimesDirectory)' == ''">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\native</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(TargetPlatformIdentifier)' == 'UAP'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\lib\uap10.0</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(TargetPlatformIdentifier)' != 'UAP'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\_native</RuntimesDirectory>
|
||||
<WindowsAIBinarySubfolder Condition="'$(UseWindowsMLStaticRuntime)' == 'true'">static\</WindowsAIBinarySubfolder>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)Microsoft.AI.MachineLearning.dll</WindowsAIBinary>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)microsoft.ai.machinelearning.dll</WindowsAIBinary>
|
||||
<WindowsAIWinMD>$(MSBuildThisFileDirectory)..\..\winmds\Microsoft.AI.MachineLearning.winmd</WindowsAIWinMD>
|
||||
<WindowsAIExperimentalWinMD>$(MSBuildThisFileDirectory)..\..\winmds\Microsoft.AI.MachineLearning.Experimental.winmd</WindowsAIExperimentalWinMD>
|
||||
|
||||
<WindowsAIBinary>$([System.IO.Path]::GetFullPath($(WindowsAIBinary)))</WindowsAIBinary>
|
||||
<WindowsAIWinMD>$([System.IO.Path]::GetFullPath($(WindowsAIWinMD)))</WindowsAIWinMD>
|
||||
<WindowsAIExperimentalWinMD>$([System.IO.Path]::GetFullPath($(WindowsAIExperimentalWinMD)))</WindowsAIExperimentalWinMD>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DisableOnnxRuntimeDllCopy)' != 'true'">
|
||||
|
|
@ -17,15 +23,15 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="$(MSBuildThisFileDirectory)\..\..\lib\uap\Microsoft.AI.MachineLearning.winmd">
|
||||
<Reference Include="$(WindowsAIWinMD)">
|
||||
<Implementation>$(WindowsAIBinary)</Implementation>
|
||||
</Reference>
|
||||
<Reference Include="$(MSBuildThisFileDirectory)\..\..\lib\uap\Microsoft.AI.MachineLearning.Experimental.winmd">
|
||||
<Reference Include="$(WindowsAIExperimentalWinMD)">
|
||||
<Implementation>$(WindowsAIBinary)</Implementation>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition="'$(NuGetProjectStyle)' != 'PackageReference'">
|
||||
<ReferenceCopyLocalPaths Include="$(WindowsAIBinary);$(OnnxRuntimeBinary)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -322,30 +322,30 @@ jobs:
|
|||
$arm_static_runtime_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm_static_runtime_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($arm_static_runtime_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm_static_runtime_nuget_package, $arm_static_runtime_nupkg_unzipped_directory)
|
||||
|
||||
$x64_store_runtime_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'uap')
|
||||
$x64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'uap')
|
||||
$x64_static_runtime_path_old = [System.IO.Path]::Combine($x64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'native')
|
||||
$x64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'native', 'static')
|
||||
$x86_runtime_path_old = [System.IO.Path]::Combine($x86_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_store_runtime_path_old = [System.IO.Path]::Combine($x86_store_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'uap')
|
||||
$x86_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'uap')
|
||||
$x86_static_runtime_path_old = [System.IO.Path]::Combine($x86_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native', 'static')
|
||||
$arm64_runtime_path_old = [System.IO.Path]::Combine($arm64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_store_runtime_path_old = [System.IO.Path]::Combine($arm64_store_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'uap')
|
||||
$arm64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'uap')
|
||||
$arm64_static_runtime_path_old = [System.IO.Path]::Combine($arm64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native', 'static')
|
||||
$arm_runtime_path_old = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_store_runtime_path_old = [System.IO.Path]::Combine($arm_store_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'uap')
|
||||
$arm_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'uap')
|
||||
$arm_static_runtime_path_old = [System.IO.Path]::Combine($arm_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native', 'static')
|
||||
$uap_build_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'build', 'uap')
|
||||
$uap_build_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'build', 'uap')
|
||||
$x64_store_runtime_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'lib\\uap10.0')
|
||||
$x64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'lib\\uap10.0')
|
||||
$x64_static_runtime_path_old = [System.IO.Path]::Combine($x64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x64', '_native')
|
||||
$x64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', '_native', 'static')
|
||||
$x86_runtime_path_old = [System.IO.Path]::Combine($x86_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native')
|
||||
$x86_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native')
|
||||
$x86_store_runtime_path_old = [System.IO.Path]::Combine($x86_store_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'lib\\uap10.0')
|
||||
$x86_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'lib\\uap10.0')
|
||||
$x86_static_runtime_path_old = [System.IO.Path]::Combine($x86_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native')
|
||||
$x86_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native', 'static')
|
||||
$arm64_runtime_path_old = [System.IO.Path]::Combine($arm64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native')
|
||||
$arm64_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native')
|
||||
$arm64_store_runtime_path_old = [System.IO.Path]::Combine($arm64_store_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'lib\\uap10.0')
|
||||
$arm64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'lib\\uap10.0')
|
||||
$arm64_static_runtime_path_old = [System.IO.Path]::Combine($arm64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native')
|
||||
$arm64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native', 'static')
|
||||
$arm_runtime_path_old = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native')
|
||||
$arm_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native')
|
||||
$arm_store_runtime_path_old = [System.IO.Path]::Combine($arm_store_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'lib\\uap10.0')
|
||||
$arm_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'lib\\uap10.0')
|
||||
$arm_static_runtime_path_old = [System.IO.Path]::Combine($arm_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native')
|
||||
$arm_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native', 'static')
|
||||
$uap_build_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'build', 'uap10.0')
|
||||
$uap_build_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'build', 'uap10.0')
|
||||
|
||||
New-Item -Path $x64_store_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $x64_static_runtime_path_new -ItemType Directory
|
||||
|
|
@ -469,12 +469,12 @@ jobs:
|
|||
$arm_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory_root, 'symbols', [System.IO.Path]::GetFileNameWithoutExtension($arm_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm_nuget_package, $arm_nupkg_unzipped_directory)
|
||||
|
||||
$x86_runtime_path_old = [System.IO.Path]::Combine($x86_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$arm64_runtime_path_old = [System.IO.Path]::Combine($arm64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm_runtime_path_old = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$x86_runtime_path_old = [System.IO.Path]::Combine($x86_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native')
|
||||
$x86_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', '_native')
|
||||
$arm64_runtime_path_old = [System.IO.Path]::Combine($arm64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native')
|
||||
$arm64_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', '_native')
|
||||
$arm_runtime_path_old = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native')
|
||||
$arm_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', '_native')
|
||||
|
||||
New-Item -Path $x86_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm64_runtime_path_new -ItemType Directory
|
||||
|
|
|
|||
|
|
@ -216,9 +216,14 @@ def generate_files(list, args):
|
|||
copy_command = "cp"
|
||||
runtimes_target = '" target="runtimes\\linux-'
|
||||
|
||||
if is_windowsai_package:
|
||||
runtimes_native_folder = '_native'
|
||||
else:
|
||||
runtimes_native_folder = 'native'
|
||||
|
||||
runtimes = '{}{}\\{}"'.format(runtimes_target,
|
||||
args.target_architecture,
|
||||
'uap' if args.is_store_build else 'native')
|
||||
'lib\\uap10.0' if args.is_store_build else runtimes_native_folder)
|
||||
|
||||
# Process headers
|
||||
files_list.append('<file src=' + '"' + os.path.join(args.sources_path,
|
||||
|
|
@ -277,11 +282,11 @@ def generate_files(list, args):
|
|||
# Process microsoft.ai.machinelearning.winmd
|
||||
files_list.append('<file src=' + '"' + os.path.join(args.ort_build_path, args.build_config,
|
||||
'microsoft.ai.machinelearning.winmd') +
|
||||
'" target="lib\\uap\\Microsoft.AI.MachineLearning.winmd" />')
|
||||
'" target="winmds\\Microsoft.AI.MachineLearning.winmd" />')
|
||||
# Process microsoft.ai.machinelearning.experimental.winmd
|
||||
files_list.append('<file src=' + '"' + os.path.join(args.ort_build_path, args.build_config,
|
||||
'microsoft.ai.machinelearning.experimental.winmd') +
|
||||
'" target="lib\\uap\\Microsoft.AI.MachineLearning.Experimental.winmd" />')
|
||||
'" target="winmds\\Microsoft.AI.MachineLearning.Experimental.winmd" />')
|
||||
if args.target_architecture == 'x64' and not args.is_store_build:
|
||||
interop_dll_path = 'Microsoft.AI.MachineLearning.Interop\\net5.0-windows10.0.19041.0'
|
||||
interop_dll = interop_dll_path + '\\Microsoft.AI.MachineLearning.Interop.dll'
|
||||
|
|
@ -312,17 +317,17 @@ def generate_files(list, args):
|
|||
files_list.append('<file src=' + '"' +
|
||||
os.path.join(args.native_build_path, 'microsoft.ai.machinelearning.lib') +
|
||||
runtimes_target + args.target_architecture + '\\' +
|
||||
('uap' if args.is_store_build else 'native') +
|
||||
('lib\\uap10.0' if args.is_store_build else '_native') +
|
||||
'\\Microsoft.AI.MachineLearning.lib" />')
|
||||
files_list.append('<file src=' + '"' + os.path.join(args.native_build_path,
|
||||
'microsoft.ai.machinelearning.dll') +
|
||||
runtimes_target + args.target_architecture + '\\' +
|
||||
('uap' if args.is_store_build else 'native') +
|
||||
('lib\\uap10.0' if args.is_store_build else '_native') +
|
||||
'\\Microsoft.AI.MachineLearning.dll" />')
|
||||
files_list.append('<file src=' + '"' + os.path.join(args.native_build_path,
|
||||
'microsoft.ai.machinelearning.pdb') +
|
||||
runtimes_target + args.target_architecture + '\\' +
|
||||
('uap' if args.is_store_build else 'native') +
|
||||
('lib\\uap10.0' if args.is_store_build else '_native') +
|
||||
'\\Microsoft.AI.MachineLearning.pdb" />')
|
||||
# Process execution providers which are built as shared libs
|
||||
if args.execution_provider == "tensorrt":
|
||||
|
|
@ -398,7 +403,7 @@ def generate_files(list, args):
|
|||
windowsai_rules = 'Microsoft.AI.MachineLearning.Rules.Project.xml'
|
||||
windowsai_native_rules = os.path.join(args.sources_path, 'csharp', 'src', windowsai_src, windowsai_rules)
|
||||
windowsai_native_targets = os.path.join(args.sources_path, 'csharp', 'src', windowsai_src, windowsai_targets)
|
||||
build = 'build\\{}'.format('uap' if args.is_store_build else 'native')
|
||||
build = 'build\\{}'.format('uap10.0' if args.is_store_build else 'native')
|
||||
files_list.append('<file src=' + '"' + windowsai_native_props + '" target="' + build + '" />')
|
||||
# Process native targets
|
||||
files_list.append('<file src=' + '"' + windowsai_native_targets + '" target="' + build + '" />')
|
||||
|
|
|
|||
|
|
@ -33,11 +33,12 @@ def is_windows():
|
|||
return sys.platform.startswith("win")
|
||||
|
||||
|
||||
def check_if_dlls_are_present(platforms_supported, zip_file):
|
||||
def check_if_dlls_are_present(is_windows_ai_package, platforms_supported, zip_file):
|
||||
platforms = platforms_supported.strip().split(",")
|
||||
for platform in platforms:
|
||||
if platform.startswith("win"):
|
||||
path = "runtimes/" + platform + "/native/onnxruntime.dll"
|
||||
native_folder = '_native' if is_windows_ai_package else 'native'
|
||||
path = "runtimes/" + platform + "/" + native_folder + "/onnxruntime.dll"
|
||||
print('Checking path: ' + path)
|
||||
if (path not in zip_file.namelist()):
|
||||
print("onnxruntime.dll not found for " + platform)
|
||||
|
|
@ -109,7 +110,7 @@ def main():
|
|||
raise Exception('Nuget validation is currently supported only on Windows')
|
||||
|
||||
# Make a copy of the Nuget package
|
||||
print('Making a copy of the Nuget and extracting its contents')
|
||||
print('Copying [' + full_nuget_path + '] -> [' + nupkg_copy_name + '], and extracting its contents')
|
||||
os.system("copy " + full_nuget_path + " " + nupkg_copy_name)
|
||||
|
||||
# Convert nupkg to zip
|
||||
|
|
@ -118,7 +119,8 @@ def main():
|
|||
|
||||
# Check if the relevant dlls are present in the Nuget/Zip
|
||||
print('Checking if the Nuget contains relevant dlls')
|
||||
check_if_dlls_are_present(args.platforms_supported, zip_file)
|
||||
is_windows_ai_package = os.path.basename(full_nuget_path).startswith('Microsoft.AI.MachineLearning')
|
||||
check_if_dlls_are_present(is_windows_ai_package, args.platforms_supported, zip_file)
|
||||
|
||||
# Check if the Nuget has been signed
|
||||
if (args.verify_nuget_signing != 'true' and args.verify_nuget_signing != 'false'):
|
||||
|
|
|
|||
Loading…
Reference in a new issue