Skip to content

Commit b364ca3

Browse files
CopilotArash-Sabet
andcommitted
Add automatic dependency inclusion and central package management
- Created Directory.Packages.props for central package management - Updated main package to include all required Microsoft.Extensions dependencies - Updated example tests to use central package management - Updated README to reflect automatic dependency inclusion - All 43 tests still passing Co-authored-by: Arash-Sabet <[email protected]>
1 parent 186dce5 commit b364ca3

File tree

4 files changed

+61
-34
lines changed

4 files changed

+61
-34
lines changed

Directory.Packages.props

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project>
3+
<PropertyGroup>
4+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<!-- Microsoft.Extensions packages (core dependencies) -->
9+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
10+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.9" />
11+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
12+
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.9" />
13+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.9" />
14+
<PackageVersion Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.9" />
15+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
16+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.9" />
17+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.9" />
18+
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.9" />
19+
20+
<!-- xUnit packages -->
21+
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.1.0" />
22+
<PackageVersion Include="xunit.v3" Version="3.1.0" />
23+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
24+
25+
<!-- Development and build tools -->
26+
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
27+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
28+
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
29+
</ItemGroup>
30+
</Project>

README.md

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,20 +64,7 @@ dotnet add package Xunit.Microsoft.DependencyInjection
6464
<PackageReference Include="Xunit.Microsoft.DependencyInjection" Version="9.2.0" />
6565
```
6666

67-
### Required Dependencies
68-
69-
Your test project also needs the following Microsoft.Extensions packages for full functionality:
70-
71-
```xml
72-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
73-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
74-
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.9" />
75-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.9" />
76-
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.9" />
77-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
78-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.9" />
79-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.9" />
80-
```
67+
**✨ That's it!** All required Microsoft.Extensions dependencies are now automatically included with the package, so you don't need to manually add them to your test project.
8168

8269
### Quick Start Example
8370

examples/Xunit.Microsoft.DependencyInjection.ExampleTests/Xunit.Microsoft.DependencyInjection.ExampleTests.csproj

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,25 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.9" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
16-
<PackageReference Include="xunit.v3" Version="3.1.0" />
17-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
14+
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
16+
<PackageReference Include="xunit.v3" />
17+
<PackageReference Include="xunit.runner.visualstudio">
1818
<PrivateAssets>all</PrivateAssets>
1919
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2020
</PackageReference>
21-
<PackageReference Include="coverlet.collector" Version="6.0.4">
21+
<PackageReference Include="coverlet.collector">
2222
<PrivateAssets>all</PrivateAssets>
2323
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2424
</PackageReference>
25-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
26-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
27-
<PackageReference Include="Microsoft.Extensions.Options" Version="9.0.9" />
28-
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.9" />
29-
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.9" />
30-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
31-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.9" />
25+
<!-- Note: The following dependencies are now automatically included via the main package -->
26+
<!--<PackageReference Include="Microsoft.Extensions.DependencyInjection" />-->
27+
<!--<PackageReference Include="Microsoft.Extensions.Configuration" />-->
28+
<!--<PackageReference Include="Microsoft.Extensions.Options" />-->
29+
<!--<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />-->
30+
<!--<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" />-->
31+
<!--<PackageReference Include="Microsoft.Extensions.Configuration.Json" />-->
32+
<!--<PackageReference Include="Microsoft.Extensions.Logging" />-->
3233
</ItemGroup>
3334
<ItemGroup>
3435
<None Remove="appsettings.json" />

src/Xunit.Microsoft.DependencyInjection.csproj

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,23 @@
4040
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
4141
</PropertyGroup>
4242
<ItemGroup>
43-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
44-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.9" />
45-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.9" />
46-
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.9" />
47-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
48-
<PackageReference Include="xunit.v3.extensibility.core" Version="3.1.0" />
49-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.9" />
50-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
43+
<!-- Core Microsoft.Extensions dependencies - automatically included for users -->
44+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
45+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
46+
<PackageReference Include="Microsoft.Extensions.Configuration" />
47+
<PackageReference Include="Microsoft.Extensions.Options" />
48+
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
49+
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" />
50+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" />
51+
<PackageReference Include="Microsoft.Extensions.Logging" />
52+
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
53+
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
54+
55+
<!-- xUnit dependency -->
56+
<PackageReference Include="xunit.v3.extensibility.core" />
57+
58+
<!-- Build tools -->
59+
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
5160
</ItemGroup>
5261
<ItemGroup>
5362
<None Include="..\README.md" Pack="true" PackagePath="\" />

0 commit comments

Comments
 (0)