Dans .NET Core 1.0 et 1.1, il était nécessaire de définir PackageTargetFallback
lors de la référence à des packages connus pour fonctionner sur .NET Core mais qui ne le prennent pas officiellement en charge, par exemple. Bibliothèques PCL ou bibliothèques créées pour l'ancien moniker de structure dotnet
.
En raison de cela, le projet (.csproj
, .fsproj
, ...) contiendra une ligne semblable à:
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
Dans la plupart des cas, cette ligne peut simplement être retiré et le projet devrait construire parce que. NET Core 2.0 définit déjà AssetTargetFallback
comme net461
, ce qui signifie que tout package NuGet compatible avec .NET Framework 4.6.1 ou version ultérieure peut être utilisé sans configuration supplémentaire.
Si cela introduit plus de construction/restauration des erreurs, modifiez la ligne:
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
La raison de ce changement est que PackageTargetFallback
est considéré comme obsolète et doit être remplacé par AssetTargetFallback
qui se comporte légèrement différent.
Le changement de rupture dans l'outillage est que netcoreapp2.0
et netstandard2.0
définis automatiquement AssetTargetFallback
qui est en conflit avec une valeur PackageTargetFallback
définie dans le fichier de projet.
Merci, j'ai ouvert le csproj dans l'éditeur et j'ai complètement supprimé l'élément comme vous l'avez suggéré et cela a très bien fonctionné. –
amassani