3

J'ai une application .NET Core 1.0 que j'ai créée pour AWS Lambda. Toutefois, AWS prend uniquement en charge la bibliothèque Standard.Library 1.6.0, pas 1.6.1.Force NETStandard.Library 1.6.0 sur les références NuGet sans avertissement de génération

J'ai été capable de référencer explicitement .NETStandard.Library 1.6.0 en utilisant NuGet - et cela fonctionne avec succès de cette façon dans AWS. Cependant, pour la plupart de mes références NuGet, je reçois des tonnes d'avertissements de construction en disant "Downgraded du paquet détecté: NETStandard.Library de 1.6.1 à 1.6.0 Référence le paquet directement du projet pour choisir une version différente " Et je reçois des tonnes de signes d'avertissement jaunes sur mes références NuGet, que je préfère ne pas ignorer.

J'ai essayé d'ajouter chacun des éléments suivants séparément dans mon dossier .csproj, mais rien ne semble fonctionner ...

<PropertyGroup> 
    <NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion> 
</PropertyGroup> 

<ItemGroup> 
    <PackageReference Update="NETStandard.Library" Version="1.6.0" /> 
</ItemGroup> 

<ItemGroup> 
    <NetStandardImplicitPackageVersion Include="NetStandardLibrary" Version="1.6.0" /> 
</ItemGroup> 

Je préfère ne pas ignorer ces avertissements. C'est beaucoup de bruit qui pourrait masquer d'autres problèmes. Aucune suggestion? Existe-t-il un autre type de référence explicite dont je ne suis pas au courant?

Merci d'avance.

Répondre

1

Seule la version de vos tentatives définissant NetStandardImplicitPackageVersion est la bonne façon de définir la version. Si vous mettez à jour le SDK .NET Core 2.0.0 pour créer votre application 1.0, la nouvelle version de NuGet vous permet de contrôler l'avertissement en utilisant la propriété NoWarn comme ceci:

<PropertyGroup> 
    <NoWarn>$(NoWarn);NU1605</NoWarn> 
</PropertyGroup>