2016-10-22 8 views
3

Visual Studio 2015 Update 3では、Full .NET Frameworkとドメインモデルを含む.netクラスライブラリプロジェクトに基づいてASP.NET Coreプロジェクトを作成しました。フル.NETフレームワークからASP.NETコアプロジェクトを参照する方法プロジェクトをテストしますか?

私はコントローラと私のドメインオブジェクトをテストするためにユニットテストプロジェクト(ms-test)を作成しました。ここでは、ディレクトリ構造は次のとおりです。

Proj 
|-src 
    |-WebProj 
|-DomainProj 
|-TestProj 

私はテストプロジェクトの下の参照項目を使用して依存関係としてasp.netコアのWebプロジェクトを参照することができています。

問題は、asp.netコアプロジェクトのタイプがTestプロジェクトで使用できないということです(タイプまたは名前空間の名前にエラーが見つかりません)。

私はstackoverflowで次の質問を見つけました:How to reference an ASP.NET 5 project from another project? しかしそれほど役に立ちません。テストプロジェクトでWebプロジェクトを参照するproject.jsonファイルを作成しても、そのタイプは解決されませんでした。

asp.netコアプロジェクトをテストするために、別の.Netコアテストプロジェクトを作成する必要がありますか?

{ 
    "userSecretsId": "xxxxx", 

    "dependencies": { 
    "BundlerMinifier.Core": "2.2.281", 
    "Microsoft.AspNet.Mvc": "5.2.2", 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1", 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    } 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final", 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "net452": { 
     "dependencies": { 
     "CodeGenProj": { 
      "target": "project" 
     }, 
     "DomainProj": { 
      "target": "project" 
     } 
     } 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "Areas/**/Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 
+2

私はあなたがこれを行うことはできませんと思います。なぜ完全な.netフレームワークテストプロジェクトを作成する必要がありますか?なぜ、Xunitフレームワークで.netコアテストプロジェクトを作成しないのですか? Xunitは、.netコアをサポートする最初のフレームワークの1つです。 [this](https://xunit.github.io/docs/getting-started-dotnet-core.html)を確認してください –

+0

.NETコアプロジェクトからproject.jsonファイルを投稿してください。 –

+0

@ShaunLuttin私はproject.jsonを投稿しました – Chedy2149

答えて

3

あなたのユニットテストプロジェクトはcsprojで、Webアプリケーションは、おそらくxproj次のとおりです。ここで

UPDATE はWebProjのproject.jsonファイルです。残念ながらcsprojからxprojを直接参照することはできません。 document in the dotnet/corefx Github repoには、Webアプリケーションをcsprojに変換する方法が説明されています。

関連問題:

関連する問題