Skip to content

Commit dd1c2c0

Browse files
committed
Adopt Central Package Management for NuGet dependencies
Migrated all projects to use Directory.Packages.props for centralized NuGet version management. Removed Version attributes from all <PackageReference> elements in .csproj files. Updated copilot-instructions.md to document the new package management workflow.
1 parent 6b01bd0 commit dd1c2c0

File tree

10 files changed

+119
-48
lines changed

10 files changed

+119
-48
lines changed

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Copilot Instructions for Azure.Local
22

3+
## Package Management
4+
5+
NuGet package versions are controlled centrally via `Directory.Packages.props` at the solution root (Central Package Management). **Do not add `Version=` attributes to `<PackageReference>` elements in `.csproj` files.** Add new packages to `Directory.Packages.props` as `<PackageVersion Include="..." Version="..." />` first, then reference them versionlessly in the csproj.
6+
37
## Build & Test
48

59
```powershell

Directory.Packages.props

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<Project>
2+
<PropertyGroup>
3+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
</PropertyGroup>
5+
6+
<ItemGroup Label="Aspire">
7+
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.1.2" />
8+
<PackageVersion Include="Aspire.Hosting.Azure.CosmosDB" Version="13.1.2" />
9+
<PackageVersion Include="Aspire.Hosting.Azure.Functions" Version="13.1.2" />
10+
<PackageVersion Include="Aspire.Hosting.Azure.ServiceBus" Version="13.1.2" />
11+
<PackageVersion Include="Aspire.Hosting.Azure.Storage" Version="13.1.2" />
12+
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.1.2" />
13+
<PackageVersion Include="Aspire.Hosting.Testing" Version="13.1.2" />
14+
<PackageVersion Include="Aspire.StackExchange.Redis.OutputCaching" Version="13.1.2" />
15+
</ItemGroup>
16+
17+
<ItemGroup Label="Azure">
18+
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.20.1" />
19+
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.57.1" />
20+
<PackageVersion Include="Microsoft.Azure.Functions.Worker" Version="2.51.0" />
21+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="2.50.0" />
22+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.24.0" />
23+
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.7" />
24+
</ItemGroup>
25+
26+
<ItemGroup Label="Microsoft.Extensions">
27+
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.5" />
28+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
29+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
30+
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.4.0" />
31+
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.5" />
32+
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.4.0" />
33+
</ItemGroup>
34+
35+
<ItemGroup Label="AspNetCore">
36+
<PackageVersion Include="Microsoft.ApplicationInsights.WorkerService" Version="3.0.0" />
37+
<PackageVersion Include="Microsoft.AspNetCore.Hosting" Version="2.3.9" />
38+
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.5" />
39+
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.5" />
40+
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="10.0.5" />
41+
<PackageVersion Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.5" />
42+
</ItemGroup>
43+
44+
<ItemGroup Label="OpenTelemetry">
45+
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />
46+
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
47+
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.1" />
48+
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.0" />
49+
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.15.0" />
50+
</ItemGroup>
51+
52+
<ItemGroup Label="Libraries">
53+
<PackageVersion Include="CsvHelper" Version="33.1.0" />
54+
<PackageVersion Include="FluentValidation" Version="12.1.1" />
55+
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
56+
</ItemGroup>
57+
58+
<ItemGroup Label="Testing">
59+
<PackageVersion Include="AwesomeAssertions" Version="9.4.0" />
60+
<PackageVersion Include="coverlet.collector" Version="8.0.0" />
61+
<PackageVersion Include="LightBDD.XUnit2" Version="3.11.2" />
62+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
63+
<PackageVersion Include="xunit" Version="2.9.3" />
64+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
65+
</ItemGroup>
66+
67+
</Project>

src/Azure.Local.ApiService/Azure.Local.ApiService.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
</ItemGroup>
2323

2424
<ItemGroup>
25-
<PackageReference Include="FluentValidation" Version="12.1.1" />
26-
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.5" />
27-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="10.1.5" />
25+
<PackageReference Include="FluentValidation" />
26+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
27+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" />
2828
</ItemGroup>
2929

3030
</Project>

src/Azure.Local.AppHost/Azure.Local.AppHost.csproj

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717
</ItemGroup>
1818

1919
<ItemGroup>
20-
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.1.2" />
21-
<PackageReference Include="Aspire.Hosting.Azure.CosmosDB" Version="13.1.2" />
22-
<PackageReference Include="Aspire.Hosting.Azure.Functions" Version="13.1.2" />
23-
<PackageReference Include="Aspire.Hosting.Azure.ServiceBus" Version="13.1.2" />
24-
<PackageReference Include="Aspire.Hosting.Azure.Storage" Version="13.1.2" />
25-
<PackageReference Include="Aspire.Hosting.Redis" Version="13.1.2" />
26-
<PackageReference Include="Microsoft.Azure.Cosmos" Version="3.57.1" />
27-
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.5" />
28-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
29-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
30-
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.5" />
20+
<PackageReference Include="Aspire.Hosting.AppHost" />
21+
<PackageReference Include="Aspire.Hosting.Azure.CosmosDB" />
22+
<PackageReference Include="Aspire.Hosting.Azure.Functions" />
23+
<PackageReference Include="Aspire.Hosting.Azure.ServiceBus" />
24+
<PackageReference Include="Aspire.Hosting.Azure.Storage" />
25+
<PackageReference Include="Aspire.Hosting.Redis" />
26+
<PackageReference Include="Microsoft.Azure.Cosmos" />
27+
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
28+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" />
29+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
30+
<PackageReference Include="Microsoft.Extensions.Options" />
3131
</ItemGroup>
3232

3333
</Project>

src/Azure.Local.Functions/Azure.Local.Functions.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
<OutputType>Exe</OutputType>
66
</PropertyGroup>
77
<ItemGroup>
8-
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="3.0.0" />
9-
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.3.9" />
10-
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.51.0" />
11-
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="2.50.0" />
12-
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.24.0" />
13-
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.7" />
14-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.5" />
8+
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" />
9+
<PackageReference Include="Microsoft.AspNetCore.Hosting" />
10+
<PackageReference Include="Microsoft.Azure.Functions.Worker" />
11+
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" />
12+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" />
13+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" />
14+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" />
1515
</ItemGroup>
1616
<ItemGroup>
1717
<None Update="host.json">

src/Azure.Local.ServiceDefaults/Azure.Local.ServiceDefaults.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
<ItemGroup>
1111
<FrameworkReference Include="Microsoft.AspNetCore.App" />
1212

13-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.4.0" />
14-
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.4.0" />
15-
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />
16-
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
17-
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.1" />
18-
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.15.0" />
19-
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.15.0" />
13+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
14+
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" />
15+
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" />
16+
<PackageReference Include="OpenTelemetry.Extensions.Hosting" />
17+
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" />
18+
<PackageReference Include="OpenTelemetry.Instrumentation.Http" />
19+
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" />
2020
</ItemGroup>
2121

2222
</Project>

src/Azure.Local.Web/Azure.Local.Web.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" Version="13.1.2" />
14+
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" />
1515
</ItemGroup>
1616

1717
</Project>

src/application/Azure.Local.Application/Azure.Local.Application.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.5" />
11-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
10+
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
11+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

src/infrastructure/Azure.Local.Infrastructure/Azure.Local.Infrastructure.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Azure.Messaging.ServiceBus" Version="7.20.1" />
11-
<PackageReference Include="CsvHelper" Version="33.1.0" />
12-
<PackageReference Include="Microsoft.Azure.Cosmos" Version="3.57.1" />
13-
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.5" />
14-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
15-
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.5" />
16-
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
10+
<PackageReference Include="Azure.Messaging.ServiceBus" />
11+
<PackageReference Include="CsvHelper" />
12+
<PackageReference Include="Microsoft.Azure.Cosmos" />
13+
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
14+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
15+
<PackageReference Include="Microsoft.Extensions.Options" />
16+
<PackageReference Include="Newtonsoft.Json" />
1717
</ItemGroup>
1818

1919
<ItemGroup>

tests/Azure.Local.Tests/Azure.Local.Tests.csproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@
2222

2323

2424
<ItemGroup>
25-
<PackageReference Include="Aspire.Hosting.Testing" Version="13.1.2" />
26-
<PackageReference Include="AwesomeAssertions" Version="9.4.0" />
27-
<PackageReference Include="coverlet.collector" Version="8.0.0">
25+
<PackageReference Include="Aspire.Hosting.Testing" />
26+
<PackageReference Include="AwesomeAssertions" />
27+
<PackageReference Include="coverlet.collector">
2828
<PrivateAssets>all</PrivateAssets>
2929
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3030
</PackageReference>
31-
<PackageReference Include="LightBDD.XUnit2" Version="3.11.2" />
32-
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.3.9" />
33-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.5" />
34-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="10.0.5" />
35-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
36-
<PackageReference Include="xunit" Version="2.9.3" />
37-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
31+
<PackageReference Include="LightBDD.XUnit2" />
32+
<PackageReference Include="Microsoft.AspNetCore.Hosting" />
33+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" />
34+
<PackageReference Include="Microsoft.AspNetCore.TestHost" />
35+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
36+
<PackageReference Include="xunit" />
37+
<PackageReference Include="xunit.runner.visualstudio">
3838
<PrivateAssets>all</PrivateAssets>
3939
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4040
</PackageReference>

0 commit comments

Comments
 (0)