生産アセンブリと単体テストアセンブリでは、最も簡単なソリューション設定が可能です。.NETコアNUnitのテストプロジェクトの参照が機能するための本番クラスライブラリへの参照
Common.sln
global.json
-- src
---- Common
------ project.json
-- test
---- UnitTests
------ project.json
global.json
:
{
"projects: [ "src", "test" ]
}
Common\project.json
:
{
"name": "<redacted>",
"version": "2.0.0-*",
"description": "<redacted>",
"copyright": "© 2016 <redacted>",
"title": "<redacted>",
"authors": [ "<redacted>" ],
"language": "en-US",
"buildOptions": {
"platform": "anycpu",
"xmlDoc": true
},
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
UnitTests\project.json
:
{
"version": "0.0.0-*",
"testRunner": "nunit",
"dependencies": {
"Common": {
"target": "project"
},
"NUnit": "3.4.1",
"dotnet-test-nunit": "3.4.0-beta-2"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"netcoreapp1.0",
"portable-net45+win8"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1-*",
"type": "platform"
}
}
}
}
}
まず、ここでは関係構成がありますコンパイルすると、エラーリストに次のエラーが表示されます。
Error NU1002 The dependency Common does not support framework .NETCoreApp,Version=v1.0. UnitTests <redacted>\UnitTests\project.json 5
Error The given key was not present in the dictionary. UnitTests 1
ここでは何が起こっていますか?私はこれらのプロジェクトを試して設定するために見つけることができるすべてのチュートリアルに従ってきましたが、どれもうまくいきません。チュートリアルが作成されて以来、おそらく.NET Coreの土地に変化がありましたか? UnitTests
プロジェクトで私のCommon
プロジェクトを認識するためには、何を変更する必要がありますか?
他の二つの小さな懸念:
- 私は、Windows 7 SP1を実行していますよ。それは
portable-net45+win8
インポートに問題がありますか? Microsoft.NETCore.App
:1.0.1の新しいバージョンがあります。もともと、project.json
はバージョン1.0.0を参照していたので、私はそれを変更しました。しかし、ソリューションエクスプローラでは、私はまだ1.0.0が表示されます。
参考文献:
http://www.alteridem.net/2016/06/18/nunit-3-testing-net-core-rc2/
Visual Studioを使用している。ここ
は
project.json
の最終版ですか?私はSLNファイルに基づいてはいを推測しています。また、global.jsonにはそれぞれのプロジェクトが含まれていますか?あなたの答えを編集し、global.jsonを追加できますか? –Yep、VS 2015 Update 3、完全にパッチが当てられました。 – NathanAldenSr
私はそれに応じて質問を更新しました。 – NathanAldenSr