Poignée netstandard1.6 avec xUnit

Je cherche à utiliser un cadre de test pour une bibliothèque netstandard1.6. J’ai essayé de suivre et d’éditer Bien démarrer avec xUnit.net (.NET Core / ASP.NET Core) . Suivez le tutoriel de la xUnit avec une librairie dotnetcore sur VS 2015 Update 3 RTM avec mon fichier project.json pour reproduire l’erreur.

project.json:

{ "version": "1.0.0-*", "testRunner": "xunit", "dependencies": { "NETStandard.Library": "1.6.0", "xunit": "2.2.0-beta2-build3300", "dotnet-test-xunit": "2.2.0-preview2-build1029" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" } }, "runtimes": { "win10-arm": {}, "win10-arm-aot": {}, "win10-x86": {}, "win10-x86-aot": {}, "win10-x64": {}, "win10-x64-aot": {} } } 

Erreur:

 Severity Code Description Error NU1002 The dependency dotnet-test-xunit 2.2.0-preview2-build1029 does not support framework .NETStandard,Version=v1.0 

Puis-je rétrograder vers une version de .netstandard prise en charge par dotnet-test-xunit 2.2.0-preview2-build1029? Existe-t-il un travail connu pour utiliser xUnit avec?

Comme je suis un peu nouveau project.json et dotnetcore, il se peut que je manque quelque chose d’utile.

Cela a fonctionné pour moi. Il semble que les versions existantes de xunit ne prennent pas encore en charge la bibliothèque netstandard 1.6. Essayez de changer votre projet json pour qu’il ressemble à ceci comme prévu dans le site xunit . Cela suppose également que vous avez créé un projet de bibliothèque kernel .net

 { "version": "1.0.0-*", "testRunner": "xunit", "dependencies": { "xunit": "2.2.0-beta2-build3300", "dotnet-test-xunit": "2.2.0-preview2-build1029" }, "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" } } } } } 

Vous pouvez importer le TFM netcoreapp1.0 pour convaincre l’outillage que les dépendances sont compatibles avec le framework cible:

 { "dependencies": { "NETStandard.Library": "1.6.0", "xunit": "2.2.0-beta4-build3444", "dotnet-test-xunit": "2.2.0-preview2-build1029" }, "frameworks": { "netstandard1.6": { "imports": [ "netcoreapp1.0" ] } } } 

Vous pouvez trouver un tableau des monikers de cadre cible (TFM) dans la documentation de NuGet liée ci-dessous, y compris un tableau de frameworks dépréciés incluant dnxcore50 (remplacé par netcoreapp1.0 ):

https://docs.nuget.org/ndocs/schema/target-frameworks

Je suggère d’utiliser les versions suivantes (c’est la même chose que dans asp.net core repo comme Logging :

 "dotnet-test-xunit": "1.0.0-*", "xunit": "2.1.0" 
  1. Vérifiez les versions disponibles pour la dépendance xunit. Je pense que la 2.2.0 est déjà finale.

  2. Un projet xunit doit être netcoreapp1.0 et non netstandard.

Voir leur page Web pour plus de détails.

L’outil CLI .NET (dotnet) prend en charge la création d’un projet de test:

 testproj $ dotnet new -t xunittest Created new C# project in /home/bartonjs/dotnet/testproj. testproj $ cat project.json 

Produit:

 { "version": "1.0.0-*", "buildOptions": { "debugType": "portable" }, "dependencies": { "System.Runtime.Serialization.Primitives": "4.1.1", "xunit": "2.1.0", "dotnet-test-xunit": "1.0.0-rc2-192208-24" }, "testRunner": "xunit", "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" } }, "imports": [ "dotnet5.4", "portable-net451+win8" ] } } } 

Ces versions pourraient mieux conduire au succès.