Dans .NET Core 1.0 et 1.1, il était nécessaire de définir PackageTargetFallback
lorsqu'il s'agit de référencer des paquets dont on sait qu'ils fonctionnent avec .NET Core mais qui ne le supportent pas officiellement, par exemple les bibliothèques PCL ou les bibliothèques construites pour l'ancienne version. dotnet
moniker de cadre.
Pour cette raison, le projet ( .csproj
, .fsproj
, ...) contiendra une ligne similaire à :
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
Dans la plupart des cas, cette ligne peut être simplement supprimée. et le projet devrait se construire parce que .NET Core 2.0 définit déjà AssetTargetFallback
à être net461
- Cela signifie que tout paquet NuGet compatible avec .NET Framework 4.6.1 ou plus peut être utilisé sans configuration supplémentaire.
Si cela introduit plus d'erreurs de construction/restauration, changez la ligne en :
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
La raison de ce changement est que PackageTargetFallback
est considéré comme déprécié et doit être remplacé par AssetTargetFallback
qui se comporte de manière légèrement différente.
Le changement de rupture dans l'outillage est le suivant netcoreapp2.0
y netstandard2.0
automatiquement AssetTargetFallback
qui entre en conflit avec tout PackageTargetFallback
définie dans le fichier du projet.