Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@ The packages are available on Nuget:
- [ReqIFSharp](https://www.nuget.org/packages/ReqIFSharp): ![NuGet Version](https://img.shields.io/nuget/v/ReqIFSharp)
- [ReqIFSharp.Extensions](https://www.nuget.org/packages/ReqIFSharp.Extensions): ![NuGet Version](https://img.shields.io/nuget/v/ReqIFSharp.Extensions)

## Dependencies

`ReqIFSharp` targets `netstandard2.0` and has a single runtime dependency: `Microsoft.Extensions.Logging.Abstractions`. Its version is **deliberately floored at `6.0.0`** - the lowest version that exposes every logging API the library uses. Because a NuGet package reference is a *minimum*, a low floor keeps the library broadly consumable instead of forcing everyone onto the latest major.

**Using ReqIFSharp from .NET 8/10 (or any modern app)?** You don't have to do anything - NuGet automatically floats the dependency up to the version your application already uses (e.g. `Microsoft.Extensions.Logging.Abstractions 10.x` on .NET 10). If you want to be explicit, simply add a direct reference in your own project to the version that matches your runtime:

```xml
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
```

This pins the resolved version in your application without ReqIFSharp imposing it on consumers who are still on older lines.

## Build Status

GitHub actions are used to build and test the library
Expand Down
11 changes: 10 additions & 1 deletion ReqIFSharp/ReqIFSharp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,16 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.8" />
<!--
The version is deliberately floored at 6.0.0 (the minimum that contains every API we use:
ILogger/ILoggerFactory, CreateLogger<T>, NullLogger<T> and the Log* message-template
extensions). A PackageReference version is a transitive *minimum*, so keeping it low lets
consumers - especially those still on older Microsoft.Extensions.* lines - resolve the
package without being forced onto the latest major. NuGet will float consumers up to a
higher version when their own graph requires it. Do not raise this floor without a real
API need.
-->
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Sbom.Targets" Version="4.1.5" PrivateAssets="all" />
</ItemGroup>

Expand Down
Loading