diff --git a/.vsconfig b/.vsconfig
index 3f6b512686..5d21fe1d60 100644
--- a/.vsconfig
+++ b/.vsconfig
@@ -17,6 +17,7 @@
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.Windows10SDK",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
+ "Microsoft.VisualStudio.Component.VC.Tools.ARM64",
"Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
"Microsoft.ComponentGroup.Blend",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
diff --git a/CefSharp.AfterBuild.targets b/CefSharp.AfterBuild.targets
index e70efc9357..b74676d6f1 100644
--- a/CefSharp.AfterBuild.targets
+++ b/CefSharp.AfterBuild.targets
@@ -15,14 +15,4 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj b/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj
index 4b4ccbd732..f01d40d634 100644
--- a/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj
+++ b/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj
@@ -10,6 +10,10 @@
Debug
x64
+
+ Debug
+ arm64
+
Release
Win32
@@ -18,6 +22,10 @@
Release
x64
+
+ Release
+ arm64
+
16.0
@@ -41,6 +49,12 @@
NetCore
Unicode
+
+ DynamicLibrary
+ true
+ NetCore
+ Unicode
+
DynamicLibrary
false
@@ -53,6 +67,12 @@
NetCore
Unicode
+
+ DynamicLibrary
+ false
+ NetCore
+ Unicode
+
@@ -62,12 +82,18 @@
+
+
+
+
+
+
true
@@ -85,6 +111,14 @@
obj.netcore\$(Platform)\$(Configuration)\
$(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
+ true
+ ..\CefSharp.snk
+ true
+ bin.netcore\$(Platform)\$(Configuration)\
+ obj.netcore\$(Platform)\$(Configuration)\
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
false
..\CefSharp.snk
@@ -99,12 +133,19 @@
obj.netcore\$(Platform)\$(Configuration)\
$(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
+ false
+ ..\CefSharp.snk
+ bin.netcore\$(Platform)\$(Configuration)\
+ obj.netcore\$(Platform)\$(Configuration)\
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
Level3
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
Disabled
- WIN32;_DEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ _DEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
Use
true
true
@@ -124,7 +165,26 @@
Level3
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
Disabled
- WIN32;_DEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ _DEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ Use
+ true
+
+
+ true
+ libcef.lib;libcef_dll_wrapper.lib
+ $(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration);$(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration)\VS$(VisualStudioProductVersion);
+ /ignore:4099 %(AdditionalOptions)
+
+
+ Assembly.manifest
+
+
+
+
+ Level3
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
+ Disabled
+ _DEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
Use
true
@@ -142,7 +202,7 @@
Level3
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- WIN32;NDEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ NDEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
Use
true
true
@@ -160,7 +220,24 @@
Level3
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- WIN32;NDEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ NDEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ Use
+ true
+
+
+ true
+ libcef.lib;libcef_dll_wrapper.lib
+ $(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration);$(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration)\VS$(VisualStudioProductVersion)
+
+
+ Assembly.manifest
+
+
+
+
+ Level3
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
+ NDEBUG;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
Use
true
@@ -223,8 +300,10 @@
Create
Create
+ Create
Create
Create
+ Create
diff --git a/CefSharp.BrowserSubprocess/CefSharp.BrowserSubprocess.netcore.csproj b/CefSharp.BrowserSubprocess/CefSharp.BrowserSubprocess.netcore.csproj
index b66c10421c..45544315f8 100644
--- a/CefSharp.BrowserSubprocess/CefSharp.BrowserSubprocess.netcore.csproj
+++ b/CefSharp.BrowserSubprocess/CefSharp.BrowserSubprocess.netcore.csproj
@@ -12,7 +12,7 @@
WinExe
- netcoreapp3.1
+ netcoreapp3.1;net5.0
CefSharp.BrowserSubprocess
CefSharp.BrowserSubprocess
false
@@ -21,7 +21,9 @@
MinimumRecommendedRules.ruleset
app.manifest
CefSharp.BrowserSubprocess.Program
- x86;x64
+ x86;x64;arm64
+
+ arm64
@@ -59,6 +59,11 @@
$(SolutionDir)CefSharp.Core.Runtime\bin.netcore\x64\$(Configuration)\CefSharp.Core.Runtime.dll
+
+
+ $(SolutionDir)CefSharp.Core.Runtime\bin.netcore\arm64\$(Configuration)\CefSharp.Core.Runtime.dll
+
+
$(SolutionDir)CefSharp.Core.Runtime\bin.netcore\win32\$(Configuration)\CefSharp.Core.Runtime.dll
diff --git a/CefSharp.Core.Runtime/CefSharp.Core.Runtime.netcore.vcxproj b/CefSharp.Core.Runtime/CefSharp.Core.Runtime.netcore.vcxproj
index d18670ccd8..038abd05b9 100644
--- a/CefSharp.Core.Runtime/CefSharp.Core.Runtime.netcore.vcxproj
+++ b/CefSharp.Core.Runtime/CefSharp.Core.Runtime.netcore.vcxproj
@@ -10,6 +10,10 @@
Debug
x64
+
+ Debug
+ arm64
+
Release
Win32
@@ -18,6 +22,10 @@
Release
x64
+
+ Release
+ arm64
+
16.0
@@ -41,6 +49,12 @@
NetCore
true
+
+ DynamicLibrary
+ Unicode
+ NetCore
+ true
+
DynamicLibrary
Unicode
@@ -51,6 +65,11 @@
Unicode
NetCore
+
+ DynamicLibrary
+ Unicode
+ NetCore
+
@@ -60,12 +79,18 @@
+
+
+
+
+
+
bin.netcore\$(Platform)\$(Configuration)\
@@ -91,6 +116,18 @@
obj.netcore\$(Platform)\$(Configuration)\
$(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
+ false
+ false
+ ..\CefSharp.snk
+ AllRules.ruleset
+
+
+ CefSharp.Core.Runtime
+ bin.netcore\$(Platform)\$(Configuration)\
+ obj.netcore\$(Platform)\$(Configuration)\
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
bin.netcore\$(Platform)\$(Configuration)\
false
@@ -113,11 +150,22 @@
obj.netcore\$(Platform)\$(Configuration)\
$(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
+ false
+ AllRules.ruleset
+
+
+ CefSharp.Core.Runtime
+ ..\CefSharp.snk
+ bin.netcore\$(Platform)\$(Configuration)\
+ obj.netcore\$(Platform)\$(Configuration)\
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;$(SourcePath)
+
Disabled
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- _DEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;WIN32;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;OS_WIN;NETCOREAPP;%(PreprocessorDefinitions)
+ _DEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;OS_WIN;NETCOREAPP;%(PreprocessorDefinitions)
MultiThreadedDebugDLL
Use
true
@@ -151,7 +199,37 @@
Disabled
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- _DEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;WIN32;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ _DEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ MultiThreadedDebugDLL
+ Use
+ true
+ Level3
+ ProgramDatabase
+ Stdafx.h
+ true
+
+
+ false
+
+
+ libcef.lib;libcef_dll_wrapper.lib;%(AdditionalDependencies)
+ $(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration);$(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration)\VS$(VisualStudioProductVersion)
+ false
+ true
+ true
+ false
+ false
+ $(LinkKeyFile)
+
+
+ Assembly.manifest
+
+
+
+
+ Disabled
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
+ _DEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
MultiThreadedDebugDLL
Use
true
@@ -180,7 +258,7 @@
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- _NDEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;WIN32;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;OS_WIN;NETCOREAPP;%(PreprocessorDefinitions)
+ _NDEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;OS_WIN;NETCOREAPP;%(PreprocessorDefinitions)
MultiThreadedDLL
Use
Level3
@@ -204,7 +282,28 @@
$(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
- _NDEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;WIN32;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ _NDEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Use
+ Level3
+ ProgramDatabase
+ true
+ true
+
+
+ libcef.lib;libcef_dll_wrapper.lib;%(AdditionalDependencies)
+ $(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration);$(SolutionDir)packages\$(CefSdkVer)\CEF\$(Platform)\$(Configuration)\VS$(VisualStudioProductVersion)
+ true
+ $(LinkKeyFile)
+
+
+ Assembly.manifest
+
+
+
+
+ $(SolutionDir)packages\$(CefSdkVer)\CEF;%(AdditionalIncludeDirectories);$(ProjectDir)
+ _NDEBUG;_WIN32_WINNT=0x0600;WINVER=0x0600;_WINDOWS;WIN32_LEAN_AND_MEAN;USING_CEF_SHARED;_CRT_SECURE_NO_WARNINGS;EXPORT;NETCOREAPP;%(PreprocessorDefinitions)
MultiThreadedDLL
Use
Level3
@@ -248,8 +347,10 @@
Create
Create
+ Create
Create
Create
+ Create
diff --git a/CefSharp.Core/Initializer.cs b/CefSharp.Core/Initializer.cs
index d210853328..9cf843e166 100644
--- a/CefSharp.Core/Initializer.cs
+++ b/CefSharp.Core/Initializer.cs
@@ -39,8 +39,7 @@ internal static void ModuleInitializer()
}
else
{
- //TODO: This will need changing if we support ARM64
- var arch = Environment.Is64BitProcess ? "x64" : "x86";
+ var arch = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
var archFolder = $"runtimes\\win-{arch}\\native";
libCefPath = Path.Combine(currentFolder, archFolder, "libcef.dll");
if (File.Exists(libCefPath))
diff --git a/CefSharp.Example/CefExample.cs b/CefSharp.Example/CefExample.cs
index ae827b1fa2..620d73b81f 100644
--- a/CefSharp.Example/CefExample.cs
+++ b/CefSharp.Example/CefExample.cs
@@ -5,6 +5,7 @@
using System;
using System.Diagnostics;
using System.IO;
+using System.Runtime.InteropServices;
using System.Text;
using CefSharp.Example.Proxy;
using CefSharp.SchemeHandler;
@@ -168,9 +169,9 @@ public static void Init(CefSettingsBase settings, IBrowserProcessHandler browser
if (DebuggingSubProcess)
{
- var architecture = Environment.Is64BitProcess ? "x64" : "x86";
+ var architecture = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
#if NETCOREAPP
- settings.BrowserSubprocessPath = Path.GetFullPath("..\\..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin.netcore\\" + architecture + "\\Debug\\netcoreapp3.1\\CefSharp.BrowserSubprocess.exe");
+ settings.BrowserSubprocessPath = Path.GetFullPath("..\\..\\..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin.netcore\\" + architecture + "\\Debug\\netcoreapp3.1\\CefSharp.BrowserSubprocess.exe");
#else
settings.BrowserSubprocessPath = Path.GetFullPath("..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin\\" + architecture + "\\Debug\\CefSharp.BrowserSubprocess.exe");
#endif
@@ -210,7 +211,7 @@ public static void Init(CefSettingsBase settings, IBrowserProcessHandler browser
#if !NETCOREAPP
@"..\..\..\..\CefSharp.Example\Resources";
#else
- @"..\..\..\..\..\CefSharp.Example\Resources";
+ @"..\..\..\..\..\..\CefSharp.Example\Resources";
#endif
settings.RegisterScheme(new CefCustomScheme
diff --git a/CefSharp.Example/Handlers/BrowserProcessHandler.cs b/CefSharp.Example/Handlers/BrowserProcessHandler.cs
index eb96ce04fc..11e0ab21e9 100644
--- a/CefSharp.Example/Handlers/BrowserProcessHandler.cs
+++ b/CefSharp.Example/Handlers/BrowserProcessHandler.cs
@@ -97,7 +97,7 @@ void IBrowserProcessHandler.OnContextInitialized()
#if !NETCOREAPP
@"..\..\..\..\CefSharp.Example\Resources";
#else
- @"..\..\..\..\..\CefSharp.Example\Resources";
+ @"..\..\..\..\..\..\CefSharp.Example\Resources";
#endif
var folderSchemeHandlerExample = new FolderSchemeHandlerFactory(rootFolder: cefSharpExampleResourcesFolder,
hostName: "cefsharp.example", //Optional param no hostname checking if null
diff --git a/CefSharp.OffScreen.Example/CefSharp.OffScreen.Example.netcore.csproj b/CefSharp.OffScreen.Example/CefSharp.OffScreen.Example.netcore.csproj
index 0087a5c476..9886234e04 100644
--- a/CefSharp.OffScreen.Example/CefSharp.OffScreen.Example.netcore.csproj
+++ b/CefSharp.OffScreen.Example/CefSharp.OffScreen.Example.netcore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -17,13 +17,20 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
CefSharp.OffScreen.Example.Program
Major
+ win-x86;win-x64
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -31,8 +38,7 @@
-
-
+
@@ -50,4 +56,4 @@
-
\ No newline at end of file
+
diff --git a/CefSharp.Test/CefSharp.Test.netcore.csproj b/CefSharp.Test/CefSharp.Test.netcore.csproj
index a10199327a..60d5f48a5b 100644
--- a/CefSharp.Test/CefSharp.Test.netcore.csproj
+++ b/CefSharp.Test/CefSharp.Test.netcore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -17,7 +17,14 @@
true
false
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
+ win-x86;win-x64
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -26,9 +33,8 @@
-
-
-
+
+
@@ -51,4 +57,4 @@
-
\ No newline at end of file
+
diff --git a/CefSharp.WinForms.Example/BrowserForm.cs b/CefSharp.WinForms.Example/BrowserForm.cs
index 376129a5dd..2aca0a82f5 100644
--- a/CefSharp.WinForms.Example/BrowserForm.cs
+++ b/CefSharp.WinForms.Example/BrowserForm.cs
@@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
+using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.Example;
@@ -27,7 +28,7 @@ public BrowserForm(bool multiThreadedMessageLoopEnabled)
{
InitializeComponent();
- var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+ var bitness = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
Text = "CefSharp.WinForms.Example - " + bitness;
WindowState = FormWindowState.Maximized;
diff --git a/CefSharp.WinForms.Example/CefSharp.WinForms.Example.netcore.csproj b/CefSharp.WinForms.Example/CefSharp.WinForms.Example.netcore.csproj
index dfb94a0773..6866b4e869 100644
--- a/CefSharp.WinForms.Example/CefSharp.WinForms.Example.netcore.csproj
+++ b/CefSharp.WinForms.Example/CefSharp.WinForms.Example.netcore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -18,12 +18,19 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
Major
+ win-x86;win-x64
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -31,8 +38,7 @@
-
-
+
@@ -57,4 +63,4 @@
-
\ No newline at end of file
+
diff --git a/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs b/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
index 3b8bf02107..377ec6e912 100644
--- a/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
+++ b/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
@@ -4,6 +4,7 @@
using System;
using System.ComponentModel;
+using System.Runtime.InteropServices;
using System.Windows.Forms;
using CefSharp.Example.JavascriptBinding;
@@ -25,7 +26,7 @@ public SimpleBrowserForm(bool multiThreadedMessageLoop, IFocusHandler customFocu
Text = "CefSharp";
WindowState = FormWindowState.Maximized;
- var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+ var bitness = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
var version = String.Format("Chromium: {0}, CEF: {1}, CefSharp: {2}, Environment: {3}", Cef.ChromiumVersion, Cef.CefVersion, Cef.CefSharpVersion, bitness);
DisplayOutput(version);
diff --git a/CefSharp.Wpf.Example/CefSharp.Wpf.Example.netcore.csproj b/CefSharp.Wpf.Example/CefSharp.Wpf.Example.netcore.csproj
index 9ec9027611..e10feb5d5e 100644
--- a/CefSharp.Wpf.Example/CefSharp.Wpf.Example.netcore.csproj
+++ b/CefSharp.Wpf.Example/CefSharp.Wpf.Example.netcore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -18,13 +18,20 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
CefSharp.Wpf.Example.Program
Major
+ win-x86;win-x64
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -32,8 +39,7 @@
-
-
+
@@ -51,4 +57,4 @@
-
\ No newline at end of file
+
diff --git a/CefSharp.Wpf.Example/MainWindow.xaml.cs b/CefSharp.Wpf.Example/MainWindow.xaml.cs
index 78464f1f3c..69f30c5981 100644
--- a/CefSharp.Wpf.Example/MainWindow.xaml.cs
+++ b/CefSharp.Wpf.Example/MainWindow.xaml.cs
@@ -6,6 +6,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
+using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
@@ -41,7 +42,7 @@ public MainWindow()
Loaded += MainWindowLoaded;
- var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+ var bitness = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
Title += " - " + bitness;
}
diff --git a/CefSharp3.netcore.sln b/CefSharp3.netcore.sln
index c6e6315e0e..881b29414b 100644
--- a/CefSharp3.netcore.sln
+++ b/CefSharp3.netcore.sln
@@ -75,120 +75,170 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CefSharp.Core.Runtime.RefAs
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|arm64 = Debug|arm64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Release|arm64 = Release|arm64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|arm64.Build.0 = Debug|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|x64.ActiveCfg = Debug|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|x64.Build.0 = Debug|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|x86.ActiveCfg = Debug|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Debug|x86.Build.0 = Debug|Any CPU
+ {39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|arm64.ActiveCfg = Release|Any CPU
+ {39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|arm64.Build.0 = Release|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|x64.ActiveCfg = Release|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|x64.Build.0 = Release|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|x86.ActiveCfg = Release|Any CPU
{39E385AD-DC5C-451E-B061-09AF3EE038EB}.Release|x86.Build.0 = Release|Any CPU
+ {7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|arm64.ActiveCfg = Debug|arm64
+ {7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|arm64.Build.0 = Debug|arm64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|x64.ActiveCfg = Debug|x64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|x64.Build.0 = Debug|x64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|x86.ActiveCfg = Debug|Win32
{7B495581-2271-4F41-9476-ACB86E8C864F}.Debug|x86.Build.0 = Debug|Win32
+ {7B495581-2271-4F41-9476-ACB86E8C864F}.Release|arm64.ActiveCfg = Release|arm64
+ {7B495581-2271-4F41-9476-ACB86E8C864F}.Release|arm64.Build.0 = Release|arm64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Release|x64.ActiveCfg = Release|x64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Release|x64.Build.0 = Release|x64
{7B495581-2271-4F41-9476-ACB86E8C864F}.Release|x86.ActiveCfg = Release|Win32
{7B495581-2271-4F41-9476-ACB86E8C864F}.Release|x86.Build.0 = Release|Win32
+ {6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|arm64.ActiveCfg = Debug|arm64
+ {6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|arm64.Build.0 = Debug|arm64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|x64.ActiveCfg = Debug|x64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|x64.Build.0 = Debug|x64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|x86.ActiveCfg = Debug|Win32
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Debug|x86.Build.0 = Debug|Win32
+ {6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|arm64.ActiveCfg = Release|arm64
+ {6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|arm64.Build.0 = Release|arm64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|x64.ActiveCfg = Release|x64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|x64.Build.0 = Release|x64
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|x86.ActiveCfg = Release|Win32
{6C4BB501-2F8E-48AC-9AB5-8CFB2D74185C}.Release|x86.Build.0 = Release|Win32
+ {B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|arm64.Build.0 = Debug|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|x64.ActiveCfg = Debug|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|x64.Build.0 = Debug|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|x86.ActiveCfg = Debug|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Debug|x86.Build.0 = Debug|Any CPU
+ {B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|arm64.ActiveCfg = Release|Any CPU
+ {B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|arm64.Build.0 = Release|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|x64.ActiveCfg = Release|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|x64.Build.0 = Release|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|x86.ActiveCfg = Release|Any CPU
{B91EB129-F892-402C-AF08-F3E1D5B80B09}.Release|x86.Build.0 = Release|Any CPU
+ {99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|arm64.Build.0 = Debug|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|x64.ActiveCfg = Debug|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|x64.Build.0 = Debug|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|x86.ActiveCfg = Debug|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Debug|x86.Build.0 = Debug|Any CPU
+ {99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|arm64.ActiveCfg = Release|Any CPU
+ {99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|arm64.Build.0 = Release|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|x64.ActiveCfg = Release|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|x64.Build.0 = Release|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|x86.ActiveCfg = Release|Any CPU
{99A1985B-2C79-4DE5-A0AD-0513647B9737}.Release|x86.Build.0 = Release|Any CPU
+ {6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|arm64.Build.0 = Debug|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|x64.ActiveCfg = Debug|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|x64.Build.0 = Debug|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|x86.ActiveCfg = Debug|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Debug|x86.Build.0 = Debug|Any CPU
+ {6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|arm64.ActiveCfg = Release|Any CPU
+ {6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|arm64.Build.0 = Release|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|x64.ActiveCfg = Release|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|x64.Build.0 = Release|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|x86.ActiveCfg = Release|Any CPU
{6680485E-7A5A-4661-86EB-F7B7B6AE4ADE}.Release|x86.Build.0 = Release|Any CPU
+ {89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|arm64.Build.0 = Debug|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|x64.ActiveCfg = Debug|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|x64.Build.0 = Debug|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|x86.ActiveCfg = Debug|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Debug|x86.Build.0 = Debug|Any CPU
+ {89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|arm64.ActiveCfg = Release|Any CPU
+ {89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|arm64.Build.0 = Release|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|x64.ActiveCfg = Release|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|x64.Build.0 = Release|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|x86.ActiveCfg = Release|Any CPU
{89540209-0C6D-4387-BE8A-7593B8D7784A}.Release|x86.Build.0 = Release|Any CPU
+ {64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Debug|arm64.ActiveCfg = Debug|arm64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Debug|x64.ActiveCfg = Debug|x64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Debug|x64.Build.0 = Debug|x64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Debug|x86.ActiveCfg = Debug|x86
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Debug|x86.Build.0 = Debug|x86
+ {64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Release|arm64.ActiveCfg = Release|arm64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Release|x64.ActiveCfg = Release|x64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Release|x64.Build.0 = Release|x64
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Release|x86.ActiveCfg = Release|x86
{64E47346-0BB1-4DF7-B135-12D70E1F2F32}.Release|x86.Build.0 = Release|x86
+ {FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|arm64.ActiveCfg = Debug|arm64
+ {FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|arm64.Build.0 = Debug|arm64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|x64.ActiveCfg = Debug|x64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|x64.Build.0 = Debug|x64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|x86.ActiveCfg = Debug|x86
{FBFBD752-467C-444F-93E4-80D6242E8513}.Debug|x86.Build.0 = Debug|x86
+ {FBFBD752-467C-444F-93E4-80D6242E8513}.Release|arm64.ActiveCfg = Release|arm64
+ {FBFBD752-467C-444F-93E4-80D6242E8513}.Release|arm64.Build.0 = Release|arm64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Release|x64.ActiveCfg = Release|x64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Release|x64.Build.0 = Release|x64
{FBFBD752-467C-444F-93E4-80D6242E8513}.Release|x86.ActiveCfg = Release|x86
{FBFBD752-467C-444F-93E4-80D6242E8513}.Release|x86.Build.0 = Release|x86
+ {E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Debug|arm64.ActiveCfg = Debug|arm64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Debug|x64.ActiveCfg = Debug|x64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Debug|x64.Build.0 = Debug|x64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Debug|x86.ActiveCfg = Debug|x86
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Debug|x86.Build.0 = Debug|x86
+ {E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Release|arm64.ActiveCfg = Release|arm64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Release|x64.ActiveCfg = Release|x64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Release|x64.Build.0 = Release|x64
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Release|x86.ActiveCfg = Release|x86
{E73A3B0C-457E-4065-BCE9-A10CAA8F4F2A}.Release|x86.Build.0 = Release|x86
+ {A430C9D4-0952-44A2-989A-23C476B7A1F0}.Debug|arm64.ActiveCfg = Debug|arm64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Debug|x64.ActiveCfg = Debug|x64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Debug|x64.Build.0 = Debug|x64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Debug|x86.ActiveCfg = Debug|x86
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Debug|x86.Build.0 = Debug|x86
+ {A430C9D4-0952-44A2-989A-23C476B7A1F0}.Release|arm64.ActiveCfg = Release|arm64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Release|x64.ActiveCfg = Release|x64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Release|x64.Build.0 = Release|x64
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Release|x86.ActiveCfg = Release|x86
{A430C9D4-0952-44A2-989A-23C476B7A1F0}.Release|x86.Build.0 = Release|x86
+ {51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Debug|arm64.ActiveCfg = Debug|arm64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Debug|x64.ActiveCfg = Debug|x64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Debug|x64.Build.0 = Debug|x64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Debug|x86.ActiveCfg = Debug|x86
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Debug|x86.Build.0 = Debug|x86
+ {51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Release|arm64.ActiveCfg = Release|arm64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Release|x64.ActiveCfg = Release|x64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Release|x64.Build.0 = Release|x64
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Release|x86.ActiveCfg = Release|x86
{51890C83-8FA3-4C9D-B3B7-A7DDF3C14A40}.Release|x86.Build.0 = Release|x86
+ {310E5602-C920-4A4C-B0B0-178155528149}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {310E5602-C920-4A4C-B0B0-178155528149}.Debug|arm64.Build.0 = Debug|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Debug|x64.ActiveCfg = Debug|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Debug|x64.Build.0 = Debug|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Debug|x86.ActiveCfg = Debug|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Debug|x86.Build.0 = Debug|Any CPU
+ {310E5602-C920-4A4C-B0B0-178155528149}.Release|arm64.ActiveCfg = Release|Any CPU
+ {310E5602-C920-4A4C-B0B0-178155528149}.Release|arm64.Build.0 = Release|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Release|x64.ActiveCfg = Release|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Release|x64.Build.0 = Release|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Release|x86.ActiveCfg = Release|Any CPU
{310E5602-C920-4A4C-B0B0-178155528149}.Release|x86.Build.0 = Release|Any CPU
+ {A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|arm64.Build.0 = Debug|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|x64.ActiveCfg = Debug|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|x64.Build.0 = Debug|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|x86.ActiveCfg = Debug|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Debug|x86.Build.0 = Debug|Any CPU
+ {A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Release|arm64.ActiveCfg = Release|Any CPU
+ {A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Release|arm64.Build.0 = Release|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Release|x64.ActiveCfg = Release|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Release|x64.Build.0 = Release|Any CPU
{A4AFD158-0B6F-4579-AE79-EC386C8BEA58}.Release|x86.ActiveCfg = Release|Any CPU
diff --git a/NuGet/PackageReference/CefSharp.Common.NETCore.nuspec b/NuGet/PackageReference/CefSharp.Common.NETCore.nuspec
index fb3f853559..271d323512 100644
--- a/NuGet/PackageReference/CefSharp.Common.NETCore.nuspec
+++ b/NuGet/PackageReference/CefSharp.Common.NETCore.nuspec
@@ -36,8 +36,10 @@
+
+
@@ -46,6 +48,10 @@
+
+
+
+
@@ -55,6 +61,10 @@
+
+
+
+
@@ -63,5 +73,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/NuGet/PackageReference/CefSharp.Common.NETCore.targets b/NuGet/PackageReference/CefSharp.Common.NETCore.targets
index b64ab17789..9718ed3b50 100644
--- a/NuGet/PackageReference/CefSharp.Common.NETCore.targets
+++ b/NuGet/PackageReference/CefSharp.Common.NETCore.targets
@@ -95,10 +95,29 @@
+
+
+
+ locales\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
+
+ swiftshader\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
+
+
+
runtimes\win-x86\native\locales\%(RecursiveDir)%(FileName)%(Extension)
PreserveNewest
@@ -156,6 +175,35 @@
false
true
+
+
+ runtimes\win-arm64\native\locales\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
+
+ runtimes\win-arm64\native\swiftshader\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
+
+ runtimes\win-arm64\native\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
+
+ runtimes\win-arm64\native\%(RecursiveDir)%(FileName)%(Extension)
+ PreserveNewest
+ Included
+ false
+ true
+
diff --git a/appveyor.yml b/appveyor.yml
index 7b9adb8c48..9517368fd6 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -30,7 +30,7 @@ for:
- ps: .\build.netcore.ps1
test_script:
# Test our Release x64 build
- dotnet test CefSharp.Test\bin.netcore\x64\Release\netcoreapp3.1\CefSharp.Test.dll
+ dotnet test CefSharp.Test\bin.netcore\x64\Release\netcoreapp3.1\win-x64\CefSharp.Test.dll
artifacts:
- path: NuGet\**\*.nupkg
diff --git a/build.netcore.ps1 b/build.netcore.ps1
index 463a4837ba..876c345cde 100644
--- a/build.netcore.ps1
+++ b/build.netcore.ps1
@@ -91,7 +91,7 @@ function Msvs
[string] $Configuration,
[Parameter(Position = 1, ValueFromPipeline = $true)]
- [ValidateSet('x86', 'x64')]
+ [ValidateSet('x86', 'x64', 'arm64')]
[string] $Platform
)
@@ -178,6 +178,7 @@ function Compile
# Compile
Msvs 'Release' 'x64'
Msvs 'Release' 'x86'
+ Msvs 'Release' 'arm64'
}
function Nupkg