Je suis en train d'utiliser la prévisualisation de .NET Standard 2.0, sur laquelle mes bibliothèques de classes sont basées.
Après avoir rencontré des problèmes avec quelques packages NuGet, notamment en ce qui concerne l'extraction d'archives, j'ai décidé de migrer mes projets Console .NET Core 2.0 vers le .NET Framework 4.6.1.
Le .NET Framework 4.6.1 est censé implémenter la spécification .NET Standard 2.0 - selon différentes sources. Notamment le Repo GitHub dotnet/standard.
Malheureusement, la migration vers le .NET Framework a entraîné les erreurs suivantes dans tous les projets Console .NET Framework :
Erreur CS0012 Le type 'Object' est défini dans une assembly qui n'est pas référencée. Vous devez ajouter une référence à l'assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
Où Object
peut être n'importe quoi : Enum
, Task
, ...
Comment puis-je faire référence aux bibliothèques de classes .NET Standard 2.0 avec .NET Framework (4.6.1) sans obtenir de telles erreurs ?
0 votes
Nous ne devrions pas modifier le fichier de configuration. J'ai évité de modifier le fichier .config dans ce cas. J'ai modifié le fichier Microsoft.NetFramework.CurrentVersion.targets dans C: \Program Files (x86)\MSBuild\14.0\Bin pour inclure les lignes ci-dessous, mon code a commencé à se construire correctement.