My .NET project targets both .NET 6 and .NET 8, in my csproj file I have:
<PropertyGroup>
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
...
</PropertyGroup>
Then, depending on the target framework I want to specify different dependencies for example:
<!-- Dependency for .NET 6 -->
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
<PackageReference Include="System.Text.Json" Version="6.0.13" />
</ItemGroup>
<!-- Dependency for .NET 8 -->
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageReference Include="System.Text.Json" Version="8.0.5" />
</ItemGroup>
When compiling:
dotnet publish -f net8.0
I get:
Warning NU1603: depends on System.Text.Json (>= 6.0.13) but System.Text.Json 6.0.13 was not found. System.Text.Json 7.0.0 was resolved instead.
The .NET 8 target seems ignored ?
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>. Please ask yourself why you do so. You have mentioned “My .NET project targets...” in your question. Do I miss something?