From ef14948827e98e3bd6d54cc60d602f3742370bea Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Thu, 11 Jun 2026 13:00:39 +0100 Subject: [PATCH 1/2] Enable Central Package Management for NuGet dependencies Introduce Directory.Packages.props to centrally manage all NuGet package versions. Remove explicit version numbers from all project files and update them to reference packages without versions. Set ManagePackageVersionsCentrally in the main project and add the central props file to the solution. This simplifies dependency management and ensures consistency across the solution. --- Directory.Packages.props | 63 +++++++++++++++++++ ...essagingService.BusinessLogic.Tests.csproj | 14 ++--- .../MessagingService.BusinessLogic.csproj | 14 ++--- .../MessagingService.Client.csproj | 4 +- ...ssagingService.EmailAggregate.Tests.csproj | 12 ++-- ...ngService.EmailMessage.DomainEvents.csproj | 4 +- ...sagingService.EmailMessageAggregate.csproj | 8 +-- ...gService.IntegrationTesting.Helpers.csproj | 2 +- .../MessagingService.IntegrationTests.csproj | 26 ++++---- ...MessagingService.SMSAggregate.Tests.csproj | 10 +-- ...gingService.SMSMessage.DomainEvents.csproj | 2 +- ...essagingService.SMSMessageAggregate.csproj | 4 +- .../MessagingService.Tests.csproj | 18 +++--- MessagingService.sln | 5 ++ MessagingService/MessagingService.csproj | 53 ++++++++-------- 15 files changed, 154 insertions(+), 85 deletions(-) create mode 100644 Directory.Packages.props diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000..8f914ee --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,63 @@ + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj b/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj index ddaf7a3..2f071cf 100644 --- a/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj +++ b/MessagingService.BusinessLogic.Tests/MessagingService.BusinessLogic.Tests.csproj @@ -7,16 +7,16 @@ - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj b/MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj index 364e2fd..e0f4db4 100644 --- a/MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj +++ b/MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj @@ -5,13 +5,13 @@ - - - - - - - + + + + + + + diff --git a/MessagingService.Client/MessagingService.Client.csproj b/MessagingService.Client/MessagingService.Client.csproj index ee8df67..48156e7 100644 --- a/MessagingService.Client/MessagingService.Client.csproj +++ b/MessagingService.Client/MessagingService.Client.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj index 9246687..34c25f9 100644 --- a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj +++ b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj @@ -7,15 +7,15 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj index e010e8f..3e9910b 100644 --- a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj +++ b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj index c6fad1a..c4f3c00 100644 --- a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj +++ b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj @@ -4,10 +4,10 @@ net10.0 - - - - + + + + diff --git a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj index fea81c5..7f7b511 100644 --- a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj +++ b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj @@ -7,7 +7,7 @@ - + diff --git a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj index 1310190..5de79ba 100644 --- a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj +++ b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj @@ -6,19 +6,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MessagingService.SMSAggregate.Tests/MessagingService.SMSAggregate.Tests.csproj b/MessagingService.SMSAggregate.Tests/MessagingService.SMSAggregate.Tests.csproj index c5b3612..f18cc56 100644 --- a/MessagingService.SMSAggregate.Tests/MessagingService.SMSAggregate.Tests.csproj +++ b/MessagingService.SMSAggregate.Tests/MessagingService.SMSAggregate.Tests.csproj @@ -7,14 +7,14 @@ - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj index 6eb8fb5..4c9153d 100644 --- a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj +++ b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj @@ -6,7 +6,7 @@ - + diff --git a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj index 923b982..4cf8b74 100644 --- a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj +++ b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/MessagingService.Tests/MessagingService.Tests.csproj b/MessagingService.Tests/MessagingService.Tests.csproj index 05d1428..d1cbe1f 100644 --- a/MessagingService.Tests/MessagingService.Tests.csproj +++ b/MessagingService.Tests/MessagingService.Tests.csproj @@ -7,18 +7,18 @@ - - - - - - - - + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/MessagingService.sln b/MessagingService.sln index 1c28e14..3796ba1 100644 --- a/MessagingService.sln +++ b/MessagingService.sln @@ -39,6 +39,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MessagingService.Models", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MessagingService.IntegrationTesting.Helpers", "MessagingService.IntegrationTesting.Helpers\MessagingService.IntegrationTesting.Helpers.csproj", "{ED8848E7-1330-4B8D-8E5F-6E712C77AA87}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A9C2E3D1-6F3B-4C5A-9C8E-111111111111}" + ProjectSection(SolutionItems) = preProject + Directory.Packages.props = Directory.Packages.props + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/MessagingService/MessagingService.csproj b/MessagingService/MessagingService.csproj index 127cbf5..1cf85de 100644 --- a/MessagingService/MessagingService.csproj +++ b/MessagingService/MessagingService.csproj @@ -3,6 +3,7 @@ net10.0 Linux + true @@ -10,32 +11,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + From 63eb3913070d159d35889e3d47c8f92627441949 Mon Sep 17 00:00:00 2001 From: StuartFerguson Date: Thu, 11 Jun 2026 13:30:29 +0100 Subject: [PATCH 2/2] Add Directory.Packages.props to Docker build context Added COPY instructions for Directory.Packages.props in both Dockerfile and Dockerfilewindows to support centralized NuGet package version management during builds. No other changes were made. --- MessagingService/Dockerfile | 2 ++ MessagingService/Dockerfilewindows | 2 ++ 2 files changed, 4 insertions(+) diff --git a/MessagingService/Dockerfile b/MessagingService/Dockerfile index 6eb91dd..39d002a 100644 --- a/MessagingService/Dockerfile +++ b/MessagingService/Dockerfile @@ -15,6 +15,8 @@ COPY ["MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj", "M COPY ["MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj", "MessagingService.EmailMessageAggregate/"] COPY ["MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj", "MessagingService.EmailMessage.DomainEvents/"] COPY ["MessagingService.DataTransferObjects/MessagingService.DataTransferObjects.csproj", "MessagingService.DataTransferObjects/"] +COPY ["Directory.Packages.props", "."] +COPY . . RUN dotnet restore "MessagingService/MessagingService.csproj" COPY . . WORKDIR "/src/MessagingService" diff --git a/MessagingService/Dockerfilewindows b/MessagingService/Dockerfilewindows index d246507..54032ba 100644 --- a/MessagingService/Dockerfilewindows +++ b/MessagingService/Dockerfilewindows @@ -10,6 +10,8 @@ COPY ["MessagingService.BusinessLogic/MessagingService.BusinessLogic.csproj", "M COPY ["MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj", "MessagingService.EmailMessageAggregate/"] COPY ["MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj", "MessagingService.EmailMessage.DomainEvents/"] COPY ["MessagingService.DataTransferObjects/MessagingService.DataTransferObjects.csproj", "MessagingService.DataTransferObjects/"] +COPY ["Directory.Packages.props", "."] +COPY . . RUN dotnet restore "MessagingService/MessagingService.csproj" COPY . . WORKDIR "/src/MessagingService"