Je suis en train de construire une application .NET Core 2.0 pour Linux. Voici les parties pertinentes du fichier de projet.
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
</Project>
Je constate que le système de paquets ne se comporte pas très bien. J'ai le droit d'ajouter ce paquet . Je ne vois peut-être pas qu'il n'est compatible qu'avec .NET Framework 4.0.
PS> dotnet add package System.Net.Http.Formatting.Extension
Writing C:\Users\anthony.mastrean\AppData\Local\Temp\tmp4823.tmp
info : Adding PackageReference for package 'System.Net.Http.Formatting.Extension' into project 'Example.csproj'.
log : Restoring packages for Example.csproj...
warn : Package 'System.Net.Http.Formatting.Extension 5.2.3' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
info : Package 'System.Net.Http.Formatting.Extension' is compatible with all the specified frameworks in project 'Example.csproj'.
info : PackageReference for package 'System.Net.Http.Formatting.Extension' version '5.2.3.0' added to file 'Example.csproj'.
Quand je construis, c'est "réussi", mais avec un avertissement (coupé pour plus de clarté)...
PS> dotnet build
Microsoft (R) Build Engine version 15.5.180.51428 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
...
Build succeeded.
Example.csproj : warning NU1701: Package 'System.Net.Http.Formatting.Extension 5.2.3' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
Example.csproj : warning NU1701: Package 'System.Net.Http.Formatting.Extension 5.2.3' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
2 Warning(s)
0 Error(s)
Time Elapsed 00:00:09.08
Quelques questions...
- Pourquoi dotnet/nuget me permet-il d'ajouter ce paquet à un projet netcoreapp2.0 ?
- Pourquoi ou comment puis-je empêcher que cela se produise ?
Je sais qu'il y a un paquet parfaitement adapté qui est compatible avec .NET Core 2.0 et qui offre les mêmes fonctionnalités. Je veux que cela échouer et d'échouer évidemment ! Je sais aussi que je ne peux pas "mettre à jour" un avertissement nuget en erreur (dommage).