En tant que J.Dhaik a déjà mentionné que la version 5.7.0 de MvvmCross n'a pas encore été mise à jour pour prendre en charge .NET Standard. La prochaine version majeure, la version 6.0.0, ajoutera la prise en charge de .NET Standard 2.0.
L'utilisation des versions de MvvmCross antérieures à la version 6.0.0 à l'intérieur d'une bibliothèque de classe standard .NET est toutefois possible.
Pourquoi cet avertissement ?
Vous pouvez consulter l'explication que j'ai donnée à ce sujet Stack Overflow (en anglais) La question de la raison pour laquelle vous verriez l'avertissement. Extrait ci-dessous
Avec .NET Standard 2.0 et l'outil mis à jour dans .NET Core SDK 2+, l'équipe .NET a voulu faire en sorte qu'il n'y ait plus d'obstacles à l'utilisation de l'outil. NET a voulu faciliter la mise à jour ou l'utilisation de .NET Standard. Le problème est que tous les paquets NuGet n'ont pas été mis à jour pour prendre en charge une version de .NET Standard. Ils ont donc introduit un de repli ciblant .NET Framework 4.6.1, qui est presque 100 % conforme. avec .NET Standard (il y a quelques API qui sont dans la spécification .NET Standard 2.0 qui ne sont pas dans .NET Framework 4.6.1, mais elles peuvent être intégrées via des paquets NuGet si nécessaire). L'avertissement que vous voyez est donc vous informer que les paquets ne sont pas conformes à une version de .NET Standard que vous visez et qu'à ce titre, ils peuvent contenir des API qui ne sont pas exécutables dans vos runtimes utilisant votre bibliothèque .NET Standard 2.0. NET Standard 2.0.
Comment supprimer les avertissements
NuGet propose deux options, par paquet o niveau du projet .
Par paquet
Vous pouvez éditer votre csproj et ajouter NoWarn="NU1701"
à votre référence de paquetage ou sélectionnez les propriétés de votre référence de paquetage NuGet (Explorateur de solutions > Dépendances > NuGet > {le nom du paquetage}, clic droit sur Propriétés) et ajoutez NU1701
à la NoWarn
propriété.
Le résultat serait similaire à ce qui suit dans votre csproj
<ItemGroup>
<PackageReference Include="MvvmCross" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Core" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Binding" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.Platform" Version="5.7.0" NoWarn="NU1701" />
<PackageReference Include="MvvmCross.CodeAnalysis" Version="5.7.0" NoWarn="NU1701" />
</ItemGroup>
Note Les avertissements relatifs aux paquets de dépendance ne sont pas supprimés par la suppression du paquet parent, ce qui n'est pas le cas avec l'approche par paquet. Il faut donc intégrer le paquet en tant que dépendance pour supprimer les avertissements.
Niveau du projet
NuGet vous donne également la possibilité de supprimer tous les NU1701
avertissements au niveau d'un projet. Vous pouvez le faire en éditant manuellement le csproj comme suit
<PropertyGroup>
<NoWarn>NU1701</NoWarn>
</PropertyGroup>
Ou via l'interface graphique, vous pouvez modifier Suppress warnings
pour inclure NU1701