diff --git a/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj b/CefSharp.BrowserSubprocess.Core/CefSharp.BrowserSubprocess.Core.netcore.vcxproj
index 6695c5315f..dd6ccde79f 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 72a1682d82..d23222d06a 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..511b854ff0 100644
--- a/CefSharp.Example/CefExample.cs
+++ b/CefSharp.Example/CefExample.cs
@@ -168,10 +168,11 @@ public static void Init(CefSettingsBase settings, IBrowserProcessHandler browser
if (DebuggingSubProcess)
{
- var architecture = Environment.Is64BitProcess ? "x64" : "x86";
#if NETCOREAPP
- settings.BrowserSubprocessPath = Path.GetFullPath("..\\..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin.netcore\\" + architecture + "\\Debug\\netcoreapp3.1\\CefSharp.BrowserSubprocess.exe");
+ var architecture = System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
+ settings.BrowserSubprocessPath = Path.GetFullPath("..\\..\\..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin.netcore\\" + architecture + "\\Debug\\netcoreapp3.1\\CefSharp.BrowserSubprocess.exe");
#else
+ var architecture = Environment.Is64BitProcess ? "x64" : "x86";
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 510d687124..083981f02d 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,19 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
CefSharp.OffScreen.Example.Program
Major
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -31,8 +37,7 @@
-
-
+
diff --git a/CefSharp.Test/CefSharp.Test.netcore.csproj b/CefSharp.Test/CefSharp.Test.netcore.csproj
index be622bfea1..9d4f2ff101 100644
--- a/CefSharp.Test/CefSharp.Test.netcore.csproj
+++ b/CefSharp.Test/CefSharp.Test.netcore.csproj
@@ -1,4 +1,4 @@
-
+
@@ -17,7 +17,9 @@
true
false
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
@@ -29,6 +31,7 @@
+
diff --git a/CefSharp.WinForms.Example/BrowserForm.cs b/CefSharp.WinForms.Example/BrowserForm.cs
index 376129a5dd..65b5babb53 100644
--- a/CefSharp.WinForms.Example/BrowserForm.cs
+++ b/CefSharp.WinForms.Example/BrowserForm.cs
@@ -27,7 +27,11 @@ public BrowserForm(bool multiThreadedMessageLoopEnabled)
{
InitializeComponent();
+#if NETCOREAPP
+ var bitness = System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
+#else
var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+#endif
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 b428a9b32f..882ccb46ca 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,18 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
Major
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -31,8 +37,7 @@
-
-
+
diff --git a/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs b/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
index 3b8bf02107..1c821a0404 100644
--- a/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
+++ b/CefSharp.WinForms.Example/Minimal/SimpleBrowserForm.cs
@@ -25,7 +25,11 @@ public SimpleBrowserForm(bool multiThreadedMessageLoop, IFocusHandler customFocu
Text = "CefSharp";
WindowState = FormWindowState.Maximized;
+#if NETCOREAPP
+ var bitness = System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
+#else
var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+#endif
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 4614315eb3..7ba0316da7 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,19 @@
false
app.manifest
MinimumRecommendedRules.ruleset
- x86;x64
+ x86;x64;arm64
+
+ arm64
CefSharp.Wpf.Example.Program
Major
+ win-x86
+ win-x64
+ win-arm64
+ false
@@ -32,8 +38,7 @@
-
-
+
diff --git a/CefSharp.Wpf.Example/MainWindow.xaml.cs b/CefSharp.Wpf.Example/MainWindow.xaml.cs
index 78464f1f3c..8bb8d45ce2 100644
--- a/CefSharp.Wpf.Example/MainWindow.xaml.cs
+++ b/CefSharp.Wpf.Example/MainWindow.xaml.cs
@@ -41,7 +41,11 @@ public MainWindow()
Loaded += MainWindowLoaded;
+#if NETCOREAPP
+ var bitness = System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
+#else
var bitness = Environment.Is64BitProcess ? "x64" : "x86";
+#endif
Title += " - " + bitness;
}
diff --git a/CefSharp3.netcore.sln b/CefSharp3.netcore.sln
index c6e6315e0e..255c894f73 100644
--- a/CefSharp3.netcore.sln
+++ b/CefSharp3.netcore.sln
@@ -75,120 +75,178 @@ 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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|arm64.Build.0 = 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 4bcd58b5ba..6e9fcb08bf 100644
--- a/NuGet/PackageReference/CefSharp.Common.NETCore.targets
+++ b/NuGet/PackageReference/CefSharp.Common.NETCore.targets
@@ -37,10 +37,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
@@ -98,6 +117,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/build.netcore.ps1 b/build.netcore.ps1
index a521c305df..ccc8e96346 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