diff --git a/src/CodeConsole/CodeConsole.csproj b/src/CodeConsole/CodeConsole.csproj
index 1f4ac8d60..dcdd316df 100644
--- a/src/CodeConsole/CodeConsole.csproj
+++ b/src/CodeConsole/CodeConsole.csproj
@@ -1,26 +1,16 @@
+
+ Exe
+ net6.0
+ true
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- true
- 3.5.0-rc.2
- git
- https://github.com/Duet3D/DuetSoftwareFramework.git
- GPL-3.0
- Christian Hammacher
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/CodeLogger/CodeLogger.csproj b/src/CodeLogger/CodeLogger.csproj
index 394a1033b..dcdd316df 100644
--- a/src/CodeLogger/CodeLogger.csproj
+++ b/src/CodeLogger/CodeLogger.csproj
@@ -1,27 +1,16 @@
+
+ Exe
+ net6.0
+ true
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- true
- 3.5.0-rc.2
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- Christian Hammacher
- Duet3D Ltd
- GPL-3.0
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
- 3.3.0.0
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/CodeStream/CodeStream.csproj b/src/CodeStream/CodeStream.csproj
index 1f4ac8d60..dcdd316df 100644
--- a/src/CodeStream/CodeStream.csproj
+++ b/src/CodeStream/CodeStream.csproj
@@ -1,26 +1,16 @@
+
+ Exe
+ net6.0
+ true
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- true
- 3.5.0-rc.2
- git
- https://github.com/Duet3D/DuetSoftwareFramework.git
- GPL-3.0
- Christian Hammacher
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/CustomHttpEndpoint/CustomHttpEndpoint.csproj b/src/CustomHttpEndpoint/CustomHttpEndpoint.csproj
index decce52e5..dcdd316df 100644
--- a/src/CustomHttpEndpoint/CustomHttpEndpoint.csproj
+++ b/src/CustomHttpEndpoint/CustomHttpEndpoint.csproj
@@ -1,26 +1,16 @@
+
+ Exe
+ net6.0
+ true
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- 3.5.0-rc.2
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- Christian Hammacher
- Duet3D Ltd
- GPL-3.0
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
new file mode 100644
index 000000000..ae35f9c98
--- /dev/null
+++ b/src/Directory.Build.props
@@ -0,0 +1,13 @@
+
+
+ enable
+ 10
+ 3.5.0-rc.2
+ Christian Hammacher
+ Duet3D Ltd
+ Duet3D Ltd
+ https://github.com/Duet3D/DuetSoftwareFramework
+ git
+ https://github.com/Duet3D/DuetSoftwareFramework.git
+
+
\ No newline at end of file
diff --git a/src/DocGen/DocGen.csproj b/src/DocGen/DocGen.csproj
index 664dd01c6..0998e2ad7 100644
--- a/src/DocGen/DocGen.csproj
+++ b/src/DocGen/DocGen.csproj
@@ -1,22 +1,11 @@
+
+ Exe
+ net6.0
+ GPL-3.0
+
-
- Exe
- net6.0
- enable
- Christian Hammacher
- Duet3D Ltd
- 3.5.0-rc.2
- GPL-3.0
- true
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
+
+
+
diff --git a/src/Documentation/Documentation.csproj b/src/Documentation/Documentation.csproj
index ac18f9cdc..53cae3629 100644
--- a/src/Documentation/Documentation.csproj
+++ b/src/Documentation/Documentation.csproj
@@ -1,13 +1,12 @@
+
+ net6.0
+
-
- net6.0
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/src/DuetAPI/DuetAPI.csproj b/src/DuetAPI/DuetAPI.csproj
index c86752c87..6770fe21a 100644
--- a/src/DuetAPI/DuetAPI.csproj
+++ b/src/DuetAPI/DuetAPI.csproj
@@ -1,42 +1,31 @@
-
- netstandard2.0;netstandard2.1;net6.0
- 10
- enable
- Christian Hammacher
- Duet3D Ltd
- 3.5.0-rc.2
- true
- LGPL-3.0-or-later
- true
- Official API library for Duet Software Framework (Duet 3) by Duet3D
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- duet_teardrop_wifi_large.png
-
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
-
+
+ netstandard2.0;netstandard2.1;net6.0
+ true
+ LGPL-3.0-or-later
+ true
+ Official API library for Duet Software Framework (Duet 3) by Duet3D
+ duet_teardrop_wifi_large.png
+
-
- DuetAPI.xml
- Duet Duet3 DSF DuetSoftwareFramework
-
+
+ DuetAPI.xml
+ Duet Duet3 DSF DuetSoftwareFramework
+
-
-
- True
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
+
+
+ True
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
diff --git a/src/DuetAPIClient/DuetAPIClient.csproj b/src/DuetAPIClient/DuetAPIClient.csproj
index e51d6ab8b..6ad2cf904 100644
--- a/src/DuetAPIClient/DuetAPIClient.csproj
+++ b/src/DuetAPIClient/DuetAPIClient.csproj
@@ -1,45 +1,34 @@
+
+ netstandard2.1;net6.0
+ true
+ LGPL-3.0-or-later
+ true
+ Official client API library for Duet Software Framework (Duet 3) by Duet3D
+ duet_teardrop_wifi_large.png
+
-
- netstandard2.1;net6.0
- 10
- enable
- Christian Hammacher
- Duet3D Ltd
- true
- LGPL-3.0-or-later
- 3.5.0-rc.2
- true
- Official client API library for Duet Software Framework (Duet 3) by Duet3D
- https://github.com/Duet3D/DuetSoftwareFramework
- duet_teardrop_wifi_large.png
-
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
-
+
+ DuetAPIClient.xml
+ Duet Duet3 DSF DuetSoftwareFramework
+ Duet3D Ltd
+
-
- DuetAPIClient.xml
- Duet Duet3 DSF DuetSoftwareFramework
- Duet3D Ltd
-
+
+
+
-
-
-
-
-
-
- True
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
+ True
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/src/DuetControlServer/DuetControlServer.csproj b/src/DuetControlServer/DuetControlServer.csproj
index fd2a6c68e..eb9c11a6e 100644
--- a/src/DuetControlServer/DuetControlServer.csproj
+++ b/src/DuetControlServer/DuetControlServer.csproj
@@ -1,55 +1,44 @@
-
-
- Exe
- net6.0
- enable
- Christian Hammacher
- Duet3D Ltd
- 3.5.0-rc.2
- GPL-3.0
- true
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
- $([System.DateTime]::Now)
-
-
-
-
-
-
-
-
- <_Parameter1>$([System.DateTime]::Now.ToString("yyyy-MM-dd HH:mm:ss"))
-
-
-
-
-
- DEBUG;TRACE
-
-
-
- DuetControlServer.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ Exe
+ net6.0
+ GPL-3.0
+ $([System.DateTime]::Now)
+
+
+
+
+
+
+
+
+ <_Parameter1>$([System.DateTime]::Now.ToString("yyyy-MM-dd HH:mm:ss"))
+
+
+
+
+
+ DEBUG;TRACE
+
+
+
+ DuetControlServer.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/DuetHttpClient/DuetHttpClient.csproj b/src/DuetHttpClient/DuetHttpClient.csproj
index cb94ebc51..d621d1440 100644
--- a/src/DuetHttpClient/DuetHttpClient.csproj
+++ b/src/DuetHttpClient/DuetHttpClient.csproj
@@ -1,32 +1,20 @@
+
+ netstandard2.0;netstandard2.1;net6.0
+ LGPL-3.0-or-later
+ true
+ Official remote HTTP API client for Duet3D boards (supports standalone and SBC mode)
+ duet_teardrop_wifi_large.png
+
-
- netstandard2.0;netstandard2.1;net6.0
- 10
- enable
- Christian Hammacher
- Duet3D Ltd
- true
- LGPL-3.0-or-later
- 3.5.0-rc.2
- true
- Official remote HTTP API client for Duet3D boards (supports standalone and SBC mode)
- https://github.com/Duet3D/DuetSoftwareFramework
- duet_teardrop_wifi_large.png
-
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
-
-
-
-
-
-
-
-
- True
-
-
-
+
+
+
+
+
+ True
+
+
+
diff --git a/src/DuetPiManagementPlugin/DuetPiManagementPlugin.csproj b/src/DuetPiManagementPlugin/DuetPiManagementPlugin.csproj
index 3aef1ddee..d4da15e47 100644
--- a/src/DuetPiManagementPlugin/DuetPiManagementPlugin.csproj
+++ b/src/DuetPiManagementPlugin/DuetPiManagementPlugin.csproj
@@ -1,26 +1,17 @@
+
+ enable
+ net6.0
+ Exe
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- 3.5.0-rc.2
- Duet3D Ltd
- Duet3D Ltd
- GPL-3.0
- https://github.com/Duet3D/DuetSoftwareFramework
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- Christian Hammacher
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/DuetPluginService/DuetPluginService.csproj b/src/DuetPluginService/DuetPluginService.csproj
index a4a977ff4..f14ee8fa2 100644
--- a/src/DuetPluginService/DuetPluginService.csproj
+++ b/src/DuetPluginService/DuetPluginService.csproj
@@ -1,34 +1,23 @@
+
+ enable
+ net6.0
+ Exe
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- default
- Christian Hammacher
- Duet3D Ltd
- 3.5.0-rc.2
- GPL-3.0
- true
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/DuetSoftwareFramework.sln b/src/DuetSoftwareFramework.sln
index 94896402f..56fa7c20e 100644
--- a/src/DuetSoftwareFramework.sln
+++ b/src/DuetSoftwareFramework.sln
@@ -27,6 +27,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Documentation", "Documentat
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D9770827-53C5-4FBA-B4F1-2950C7C411DA}"
ProjectSection(SolutionItems) = preProject
+ Directory.Build.props = Directory.Build.props
..\README.md = ..\README.md
EndProjectSection
EndProject
diff --git a/src/DuetWebServer/DuetWebServer.csproj b/src/DuetWebServer/DuetWebServer.csproj
index 9d9817922..873196af3 100644
--- a/src/DuetWebServer/DuetWebServer.csproj
+++ b/src/DuetWebServer/DuetWebServer.csproj
@@ -1,49 +1,38 @@
-
-
- enable
- net6.0
- InProcess
- Christian Hammacher
- Duet3D Ltd
- 3.5.0-rc.2
- GPL-3.0
- true
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
-
-
- DEBUG;TRACE
-
-
-
- DuetWebServer.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ enable
+ net6.0
+ InProcess
+
+
+
+
+
+
+
+
+ DEBUG;TRACE
+
+
+
+ DuetWebServer.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/LinuxApi/LinuxApi.csproj b/src/LinuxApi/LinuxApi.csproj
index bf7d404c3..afb9b3a3c 100644
--- a/src/LinuxApi/LinuxApi.csproj
+++ b/src/LinuxApi/LinuxApi.csproj
@@ -1,24 +1,14 @@
-
- enable
- net6.0
- true
- LGPL-3.0
- 3.5.0-rc.2
-
+
+ net6.0
+ LGPL-3.0
+
-
- true
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- Christian Hammacher
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
- LinuxApi.xml
-
+
+ true
+
+
+ LinuxApi.xml
+
diff --git a/src/ModelObserver/ModelObserver.csproj b/src/ModelObserver/ModelObserver.csproj
index 00fd745b6..4510781f4 100644
--- a/src/ModelObserver/ModelObserver.csproj
+++ b/src/ModelObserver/ModelObserver.csproj
@@ -1,27 +1,16 @@
+
+ net6.0
+ Exe
+ true
+ GPL-3.0
+
-
- enable
- Exe
- net6.0
- true
- 3.5.0-rc.2
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- GPL-3.0
- Christian Hammacher
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- Duet3D Ltd
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/PluginManager/PluginManager.csproj b/src/PluginManager/PluginManager.csproj
index 9a1d3fe46..e94ec2db1 100644
--- a/src/PluginManager/PluginManager.csproj
+++ b/src/PluginManager/PluginManager.csproj
@@ -1,25 +1,15 @@
-
-
- enable
- Exe
- net6.0
- Christian Hammacher
- Duet3D Ltd
- GPL-3.0
- Duet3D Ltd
- https://github.com/Duet3D/DuetSoftwareFramework
- https://github.com/Duet3D/DuetSoftwareFramework.git
- git
- 3.5.0-rc.2
-
-
-
-
-
-
-
-
-
-
+
+ Exe
+ net6.0
+ GPL-3.0
+
+
+
+
+
+
+
+
+
diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj
index d4551bc65..4fb9cffa9 100644
--- a/src/UnitTests/UnitTests.csproj
+++ b/src/UnitTests/UnitTests.csproj
@@ -1,56 +1,48 @@
+
+ net6.0
+ false
+
-
- enable
- net6.0
- false
- default
- Christian Hammacher
- Duet3D Ltd
- true
- GPL-3.0
-
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
- Never
-
-
- Never
-
-
- Never
-
-
- Never
-
-
- Never
-
-
- Never
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
+
+
+
+
+
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+