12 votes

Le projet X cible '.NETStandard,Version=v1.6'. Il ne peut pas être référencé par un projet qui cible '.NETFramework,Version=v4.6.1'

Je voulais vraiment être un bon citoyen... j'ai copié toutes mes classes dans des bibliothèques .net standard 1.6. Juste pour découvrir que mon fichier DLL de test ne peut pas l'utiliser. J'obtiens l'erreur suivante

Le projet X cible '.NETStandard,Version=v1.6'. Il ne peut pas être référencé par un projet qui cible '.NETFramework,Version=v4.6.1'.

Évidemment, lorsque je vérifie .Net Standard (https://docs.microsoft.com/en-us/dotnet/articles/standard/library), il indique qu'avec 1.6 il peut cibler 4.6.1.

J'ai essayé avec 4.6.2 sans plus de chance. J'ai installé le package NuGet .net standard 1.6.1. De toute façon, vous êtes géniaux, je suis sûr que vous me direz quelle erreur stupide je commets qui m'empêche de faire quelque chose d'aussi basique que d'exécuter des tests unitaires avec une bibliothèque .net standard.

Merci


P.S. J'ai trouvé une solution de contournement (en quelque sorte) en utilisant un projet de test unitaire .net core plutôt qu'un projet framework .net. Cela ne résout pas mon problème, donc je ne peux pas le marquer comme réponse, mais au moins je peux retourner à la programmation...

1voto

Aboo Points 366

Vous devez mettre à jour vers .Net Core SDK 2.x+

Une fois que cela est installé, redémarrez votre machine et vous devriez être en mesure de faire référence à NetStandard 1.6 dans .Net Framework 4.6.1+

Avec .Net Core SDK 1.x, vous ne pouvez référencer que Net Standard 1.5 dans .Net Framework 4.6.2

Il serait préférable de mettre à niveau votre projet Net Standard vers la version 2.0 si possible.

0voto

Farshid Points 1143

En cas d'erreurs avec des titres similaires ciblant différentes versions du .net framework, cela signifie généralement que vous devez (installer si ce n'est pas déjà fait) et modifier la cible de votre projet vers une version plus récente / la plus récente du .net framework pour être conforme au projet ciblant une norme plus récente du .net.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X