2016-05-19 9 views
4

Ich habe eine ASP.NET-Core-RC2-Klassenbibliothek namens MyHelpers und bekam folgendes auf project.json:xunit nicht mit ASP.NET Core-RC2 kompilieren

"dependencies": { 
    "NETStandard.Library": "1.5.0-rc2-24027", 
}, 

"frameworks": { 
    "netstandard1.5": { 
    "imports": [ 
     "dnxcore50", 
     "portable-net452+win81" 
    ] 
    } 
} 

Ich habe dann eine ASP.NET Kern RC2-Klassenbibliothek für die Prüfung, genannt MyHelpersTests, und bekam die folgende in project.json:

"testRunner": "xunit", 

"dependencies": { 
    "NETStandard.Library": "1.5.0-rc2-24027", 
    "xunit": "2.2.0-beta1-build3239", 
    "dotnet-test-xunit": "1.0.0-rc2-build10015", 
    "MyHelpers": "1.0.0" 
}, 

"frameworks": { 
    "netstandard1.5": { 
    "imports": [ 
     "dnxcore50", 
     "portable-net452+win81" 
    ] 
    } 
} 

Wenn ich es kompilieren bekomme ich den Fehler:

Package dotnet-test-xunit 1.0.0-rc2-build10015 is not compatible with netstandard1.5 (.NETStandard,Version=v1.5). Package dotnet-test-xunit 1.0.0-rc2-build10015 supports: 

- net451 (.NETFramework, Version = v4.5.1) - netcoreapp1.0 (.NETCoreApp, Version = v1.0) Ein oder mehrere Pakete sind nicht kompatibel mit .NETStandard, Version = v1.5.

Was fehlt mir?

+0

Bitte beachten Sie, es ist ein Fehler/Problem mit der ' 1.0.0-rc2-build10015' dotnet runner. https://github.com/xunit/xunit/issues/843 Sie sollten den rc aus dem myget-Feed (https://www.myget.org/F/xunit/api/v3/index.json) verwenden: '" dotnet-test-xunit ":" 1.0.0-rc3-build10019 "'. Wenn Sie es verwenden, benötigen Sie zusätzlich '" Microsoft.NETCore.Platforms ":" 1.0.1-rc2-24027 "' als Abhängigkeit – Tseng

Antwort

5

Eigentlich kann Ihr Testprojekt keine netstandard1.5 Bibliothek sein, sondern eine netcoreapp1.0 Anwendung (wie auch in der Fehlermeldung und der xunit Einführungsseite angegeben). Die Test-Assembly muss ausführbar sein und benötigt ein Main() (welches von xunit zur Verfügung gestellt wird). netstandard1.5 ist eine Teilmenge von netcoreapp1.0.

Ich denke, Sie müssen auch Ihre Abhängigkeit zu "Microsoft.NETCore.App":"1.0.0-rc2-3002702" ändern.

+0

Sie meinen, ich sollte keine Klassenbibliothek für meine Tests verwenden, sondern sollte eine Konsolenanwendung verwenden? –

+0

Das stimmt! – Thomas

+1

@Thomas Ich versuche, ein Testprojekt zu erstellen, das XUnit verwendet. Ich habe eine Konsolenanwendung (.NET Core) RC2 erstellt, aber beim Hinzufügen des xUnit-Pakets "xunit": "2.2.0-beta1-build3239" wird dieser Fehler angezeigt: Kompilieren von OmniXaml.Tests.NetCoreApp für .NETCoreApp, Version = v1 .0 1> D: \ Quelle \ Repos \ OmniXAML \ OmniXaml.Tests.NetCoreApp \ project.json (12,37): Fehler NU1002: Die Abhängigkeit xunit.abstractions 2.0.0 unterstützt nicht das Framework .NETCoreApp, Version = v1 .0. – SuperJMN

2

Ich denke, das Problem ist, dass Sie den portable + net45-Import vermissen.

Das ist mein project.json:

"frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0-rc2-3002702" 
     } 
     }, 
     "imports": [ 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
+0

Das ist die richtige Antwort! –

3

Das heute für mich gearbeitet und die ganze Konfiguration sieht wie folgt aus ...

{ 
    "version": "1.0.0-*", 

    "testRunner": "xunit", 

    "dependencies": { 
     "Microsoft.NETCore.App": { 
      "version": "1.0.0-rc2-3002702", 
      "type": "platform" 
     }, 
     "xunit": "2.1.0", 
     "dotnet-test-xunit": "1.0.0-rc2-build10025" 
    }, 

    "frameworks": { 
     "netcoreapp1.0": { 
      "imports": [ 
       "dnxcore50", 
       "portable-net45+win8" 
      ] 
     } 
    } 
}