diff --git a/.github/workflows/Build_mR-NB.yml b/.github/workflows/Build_mR-NB.yml
index 4b1be8773..b622f8e6e 100644
--- a/.github/workflows/Build_mR-NB.yml
+++ b/.github/workflows/Build_mR-NB.yml
@@ -9,7 +9,16 @@ permissions:
jobs:
NB-Build-and-Release:
- runs-on: windows-latest
+ strategy:
+ matrix:
+ include:
+ - runner: windows-latest
+ platform: x64
+ arch: x64
+ - runner: windows-11-arm
+ platform: ARM64
+ arch: arm64
+ runs-on: ${{ matrix.runner }}
steps:
- name: (01) Checkout Repository
uses: actions/checkout@v4
@@ -30,9 +39,9 @@ jobs:
uses: actions/cache@v3
with:
path: ~/.nuget/packages
- key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
+ key: ${{ runner.os }}-${{ matrix.arch }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
- ${{ runner.os }}-nuget-
+ ${{ runner.os }}-${{ matrix.arch }}-nuget-
- name: (05) Restore NuGet Packages
shell: pwsh
@@ -40,7 +49,8 @@ jobs:
- name: (06) Build Release
shell: pwsh
- run: msbuild "$Env:GITHUB_WORKSPACE\mRemoteNG.sln" -p:Configuration="Release" -p:Platform=x64 /verbosity:minimal
+ run: |
+ msbuild "$Env:GITHUB_WORKSPACE\mRemoteNG.sln" -p:Configuration="Release" -p:Platform=${{ matrix.platform }} /verbosity:minimal
- name: (07) Release Information
id: version
@@ -55,7 +65,7 @@ jobs:
throw "Could not extract version and build number"
}
$date = Get-Date -Format "yyyyMMdd"
- $zipName = "mRemoteNG-$date-v$version-NB-$build.zip"
+ $zipName = "mRemoteNG-$date-v$version-NB-$build-${{ matrix.arch }}.zip"
$tag = "$date-v$version-NB-($build)"
$message = git log -1 --pretty=%B
echo "message=$message" >> $env:GITHUB_OUTPUT
@@ -102,7 +112,7 @@ jobs:
- name: (09) Create Zip File
shell: pwsh
run: |
- $sourceDir = "$Env:GITHUB_WORKSPACE\mRemoteNG\bin\x64\Release\win-x64"
+ $sourceDir = "$Env:GITHUB_WORKSPACE\mRemoteNG\bin\${{ matrix.platform }}\Release"
Compress-Archive -Path "$sourceDir\*" -DestinationPath ${{ steps.version.outputs.zipname }}
echo "File: ${{ steps.version.outputs.zipname }}"
diff --git a/ExternalConnectors/ExternalConnectors.csproj b/ExternalConnectors/ExternalConnectors.csproj
index 8006af767..d401f2062 100644
--- a/ExternalConnectors/ExternalConnectors.csproj
+++ b/ExternalConnectors/ExternalConnectors.csproj
@@ -5,13 +5,16 @@
enable
Library
True
- x64
+ x64;arm64
Debug;Release;Debug Portable;Release Portable;Deploy to github
10.0.26100.0
True
+
+ True
+
@@ -23,4 +26,4 @@
-
\ No newline at end of file
+
diff --git a/ObjectListView/ObjectListView.NetCore.csproj b/ObjectListView/ObjectListView.NetCore.csproj
index a8cab3c9c..d9d87a33d 100644
--- a/ObjectListView/ObjectListView.NetCore.csproj
+++ b/ObjectListView/ObjectListView.NetCore.csproj
@@ -7,10 +7,15 @@
false
true
true
- x64
$(NoWarn);WFO1000
false
+
+ x64
+
+
+ arm64
+
@@ -34,4 +39,4 @@
-
\ No newline at end of file
+
diff --git a/mRemoteNG.sln b/mRemoteNG.sln
index acff3684b..26b33453d 100644
--- a/mRemoteNG.sln
+++ b/mRemoteNG.sln
@@ -12,28 +12,57 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
+ Debug|arm64 = Debug|arm64
Release Installer and Portable|x64 = Release Installer and Portable|x64
+ Release Installer and Portable|arm64 = Release Installer and Portable|arm64
Release|x64 = Release|x64
+ Release|arm64 = Release|arm64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|x64.ActiveCfg = Debug|x64
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|x64.Build.0 = Debug|x64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|arm64.ActiveCfg = Debug|arm64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|arm64.Build.0 = Debug|arm64
+
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Installer and Portable|x64.ActiveCfg = Release Portable|x64
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Installer and Portable|x64.Build.0 = Release Portable|x64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Installer and Portable|arm64.ActiveCfg = Release Portable|arm64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Installer and Portable|arm64.Build.0 = Release Portable|arm64
+
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|x64.ActiveCfg = Release|x64
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|x64.Build.0 = Release|x64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|arm64.ActiveCfg = Release|arm64
+ {4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|arm64.Build.0 = Release|arm64
+
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Debug|x64.ActiveCfg = Debug|x64
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Debug|x64.Build.0 = Debug|x64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Debug|arm64.ActiveCfg = Debug|arm64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Debug|arm64.Build.0 = Debug|arm64
+
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release Installer and Portable|x64.ActiveCfg = Release Portable|x64
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release Installer and Portable|x64.Build.0 = Release Portable|x64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release Installer and Portable|arm64.ActiveCfg = Release Portable|arm64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release Installer and Portable|arm64.Build.0 = Release Portable|arm64
+
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release|x64.ActiveCfg = Release|x64
{A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release|x64.Build.0 = Release|x64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release|arm64.ActiveCfg = Release|arm64
+ {A56A2029-79B8-492A-ABE5-D2BFE05801BD}.Release|arm64.Build.0 = Release|arm64
+
{5718734C-03AC-4954-89B1-1723CF03AF10}.Debug|x64.ActiveCfg = Debug|Any CPU
{5718734C-03AC-4954-89B1-1723CF03AF10}.Debug|x64.Build.0 = Debug|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Debug|arm64.Build.0 = Debug|Any CPU
+
{5718734C-03AC-4954-89B1-1723CF03AF10}.Release Installer and Portable|x64.ActiveCfg = Release|Any CPU
{5718734C-03AC-4954-89B1-1723CF03AF10}.Release Installer and Portable|x64.Build.0 = Release|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Release Installer and Portable|arm64.ActiveCfg = Release|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Release Installer and Portable|arm64.Build.0 = Release|Any CPU
+
{5718734C-03AC-4954-89B1-1723CF03AF10}.Release|x64.ActiveCfg = Release|Any CPU
{5718734C-03AC-4954-89B1-1723CF03AF10}.Release|x64.Build.0 = Release|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Release|arm64.ActiveCfg = Release|Any CPU
+ {5718734C-03AC-4954-89B1-1723CF03AF10}.Release|arm64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/mRemoteNG/mRemoteNG.csproj b/mRemoteNG/mRemoteNG.csproj
index 41124aacd..297683ef6 100644
--- a/mRemoteNG/mRemoteNG.csproj
+++ b/mRemoteNG/mRemoteNG.csproj
@@ -1,9 +1,8 @@
-
- x64
- win-x64
+ x64;arm64
+ win-x64;win-arm64
WinExe
@@ -15,7 +14,7 @@
$([System.DateTime]::Now.Year) mRemoteNG Dev Team, 2010-2013 Riley McArdle, 2007-2009 Felix Deimel
COPYING.TXT
https://mremoteng.org/
- x64
+ x64;arm64
Debug;Release;Debug Portable;Release Portable;Release Installer;Deploy to github
false
latest
@@ -41,6 +40,15 @@
False
8
+
+ DEBUG
+ false
+
+ bin\arm64\Debug\
+ False
+ False
+ 8
+
True
@@ -51,6 +59,16 @@
8
True
+
+
+ True
+ bin\arm64\Release\
+ false
+
+ False
+ 8
+ True
+
DEBUG;PORTABLE
False
@@ -60,6 +78,15 @@
False
8
+
+ DEBUG;PORTABLE
+ False
+ bin\arm64\Debug Portable\
+ false
+
+ False
+ 8
+
PORTABLE
True
@@ -70,12 +97,28 @@
8
True
+
+ PORTABLE
+ True
+ bin\arm64\Release Portable\
+ false
+
+ False
+ 8
+ True
+
False
True
8
True
+
+ False
+ True
+ 8
+ True
+
@@ -556,6 +599,9 @@
+
+
+