diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index ec23d46e82..699a531074 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -64,7 +64,7 @@ jobs:
shell: powershell
run: |
# Work around runtime failures on the GH Actions runner
- dotnet nuget locals all --clear
+ dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
.\make.ps1 check
dotnet build OpenRA.Test\OpenRA.Test.csproj -c Debug --nologo -p:TargetPlatform=win-x64
dotnet test bin\OpenRA.Test.dll --test-adapter-path:.
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000000..5e6d68a10e
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,53 @@
+
+
+ Library
+ false
+ true
+ true
+ true
+ 7.3
+ true
+ true
+ ../bin
+ AnyCPU
+ false
+ false
+ ..\OpenRA.ruleset
+ disable
+
+
+
+ net5.0
+ netstandard2.1
+
+
+
+ win-x64
+ linux-x64
+ osx-x64
+
+
+
+ DEBUG;TRACE
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index 2086a8eb88..b8cbe7fb8d 100644
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -1,59 +1,20 @@
- Library
- net5.0
- netstandard2.1
- true
- true
- false
- 7.3
- true
- true
- false
OpenRA
- ../bin
- false
- AnyCPU
- false
- false
- ..\OpenRA.ruleset
- Release;Debug
-
-
- win-x64
- linux-x64
- osx-x64
-
-
-
-
-
-
- DEBUG;TRACE
- false
MONO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/OpenRA.Launcher/OpenRA.Launcher.csproj b/OpenRA.Launcher/OpenRA.Launcher.csproj
index 3e81754db5..020a5679f1 100644
--- a/OpenRA.Launcher/OpenRA.Launcher.csproj
+++ b/OpenRA.Launcher/OpenRA.Launcher.csproj
@@ -1,42 +1,10 @@
Exe
- net5.0
- netstandard2.1
- true
- true
- false
- 7.3
- true
- true
- false
- ../bin
- false
- AnyCPU
- false
- false
- ..\OpenRA.ruleset
- Release;Debug
OpenRA
false
- true
-
-
- win-x64
- linux-x64
- osx-x64
-
-
-
-
-
-
- DEBUG;TRACE
- false
-
-
- true
+
Project
Engine.EngineDir=".." Game.Mod=ra
@@ -56,13 +24,6 @@
-
-
-
-
-
-
-
diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
index ac56d233cc..fd26601363 100644
--- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
+++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
@@ -1,27 +1,8 @@
- net5.0
- netstandard2.1
- true
- true
- 7.3
- true
- true
- ../bin
- false
- AnyCPU
- false
- ..\OpenRA.ruleset
false
-
-
-
-
-
- DEBUG;TRACE
- false
-
+
False
@@ -29,14 +10,5 @@
False
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index fb3f866c49..19695eed59 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -1,27 +1,4 @@
-
- net5.0
- netstandard2.1
- true
- true
- 7.3
- true
- true
- ../bin
- false
- AnyCPU
- false
- ..\OpenRA.ruleset
- true
-
-
-
-
-
-
- DEBUG;TRACE
- false
-
False
@@ -31,15 +8,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
index 75923b2b76..ceda2956fe 100644
--- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
+++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
@@ -1,27 +1,8 @@
- net5.0
- netstandard2.1
- true
- true
- 7.3
- true
- true
- ../bin
- false
- AnyCPU
- false
- ..\OpenRA.ruleset
false
-
-
-
-
-
- DEBUG;TRACE
- false
-
+
False
@@ -29,14 +10,5 @@
False
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj b/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
index e881950c3a..4c5ee07ceb 100644
--- a/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
+++ b/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj
@@ -1,47 +1,10 @@
-
- net5.0
- netstandard2.1
- true
- true
- 7.3
- true
- true
- ../bin
- false
- AnyCPU
- false
- ..\OpenRA.ruleset
- true
-
-
- win-x64
- linux-x64
- osx-x64
-
-
-
-
-
-
- DEBUG;TRACE
- false
-
-
-
-
-
-
-
-
-
-
PreserveNewest
diff --git a/OpenRA.Server/OpenRA.Server.csproj b/OpenRA.Server/OpenRA.Server.csproj
index ea4d65ec08..51db8674c8 100644
--- a/OpenRA.Server/OpenRA.Server.csproj
+++ b/OpenRA.Server/OpenRA.Server.csproj
@@ -1,45 +1,11 @@
Exe
- net5.0
- netstandard2.1
- true
- true
- false
- ../bin
- false
- 7.3
- true
- true
- AnyCPU
- false
- false
- ..\OpenRA.ruleset
- Release;Debug
-
-
-
-
-
-
- DEBUG;TRACE
- false
-
-
- true
+
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.Test/OpenRA.Test.csproj b/OpenRA.Test/OpenRA.Test.csproj
index 7f793a1f63..c101539182 100644
--- a/OpenRA.Test/OpenRA.Test.csproj
+++ b/OpenRA.Test/OpenRA.Test.csproj
@@ -1,25 +1,8 @@
- net5.0
- true
- 7.3
- true
- true
- ../bin
- false
- AnyCPU
- false
- ..\OpenRA.ruleset
false
-
-
-
-
-
- DEBUG;TRACE
- false
-
+
@@ -29,14 +12,5 @@
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.Utility/OpenRA.Utility.csproj b/OpenRA.Utility/OpenRA.Utility.csproj
index ea4d65ec08..51db8674c8 100644
--- a/OpenRA.Utility/OpenRA.Utility.csproj
+++ b/OpenRA.Utility/OpenRA.Utility.csproj
@@ -1,45 +1,11 @@
Exe
- net5.0
- netstandard2.1
- true
- true
- false
- ../bin
- false
- 7.3
- true
- true
- AnyCPU
- false
- false
- ..\OpenRA.ruleset
- Release;Debug
-
-
-
-
-
-
- DEBUG;TRACE
- false
-
-
- true
+
-
-
-
-
-
-
-
-
-
diff --git a/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj b/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
index 69b542e20e..af3c322839 100644
--- a/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
+++ b/OpenRA.WindowsLauncher/OpenRA.WindowsLauncher.csproj
@@ -1,37 +1,11 @@
winexe
- net5.0
- false
$(LauncherIcon)
- true
- true
- false
- 7.3
- true
- true
- false
- ../bin
- AnyCPU
- false
- false
- ..\OpenRA.ruleset
- Release;Debug
$(LauncherName)
+
-
-
-
-
- DEBUG;TRACE
- false
-
-
- true
-
-
-
<_Parameter1>ModID
@@ -52,10 +26,4 @@
-
-
-
-
-
-