2016-12-09 80 views
2

单元测试在Visual Studio 15 ASP.NET MVC核心的网络应用程序,我可以把一个using语句Microsoft.AspNetCore.Mvc在我的测试文件,然后访问框架类,例如如ViewResult。使用Visual Studio 2017 RC,我甚至无法在测试项目中找到Microsoft.AspNetCore.Mvc。我相信它必须与依赖关系相关。的xUnit配置2017年RC

从VS15的project.json配置:

{ 
    "version": "1.0.0-*", 
    "testRunner": "xunit", 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.1.0" 
    }, 
    "dotnet-test-xunit": "2.2.0-preview2-build1029", 
    "moq": "4.6.38-alpha", 
    "System.Diagnostics.TraceSource": "4.3.0", 
    "SportsStore": "1.0.0", 
    "xunit": "2.1.0", 
    "Microsoft.DotNet.InternalAbstractions": "1.0.0" // Required for xUnit with NetCore 1.1 
    }, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "imports": [ "dotnet5.6", "portable-net45+win8" ] 
    } 
    } 
} 

从VS17的SportsStore.Test.csproj配置:

<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" /> 
    <PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <Compile Include="**\*.cs" /> 
    <EmbeddedResource Include="**\*.resx" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.DotNet.InternalAbstractions"> 
     <Version>1.0.500-preview2-1-003177</Version> 
    </PackageReference> 
    <PackageReference Include="Microsoft.NETCore.App"> 
     <Version>1.1.0</Version> 
    </PackageReference> 
    <PackageReference Include="Microsoft.NET.Sdk"> 
     <Version>1.0.0-alpha-20161104-2</Version> 
     <PrivateAssets>All</PrivateAssets> 
    </PackageReference> 
    <PackageReference Include="Microsoft.NET.Test.Sdk"> 
     <Version>15.0.0-preview-20161123-03</Version> 
    </PackageReference> 
    <PackageReference Include="Moq"> 
     <Version>4.6.38-alpha</Version> 
    </PackageReference> 
    <PackageReference Include="System.Diagnostics.TraceSource"> 
     <Version>4.3.0</Version> 
    </PackageReference> 
    <PackageReference Include="xunit"> 
     <Version>2.2.0-beta4-build3444</Version> 
    </PackageReference> 
    <PackageReference Include="xunit.runner.visualstudio"> 
     <Version>2.2.0-beta4-build1194</Version> 
    </PackageReference> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\..\src\SportsStore\SportsStore.csproj" /> 
    </ItemGroup> 
    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 
</Project> 

的VS17项目使用xunit.runner.visualstudio而非dotnet-test-xunit由于后者只是兼容与project.json,而不是.csproj。我怀疑这种依赖性改变是我的问题的原因。我如何纠正这个问题并获得对MVC框架的访问权限?

回答

1

嗯。我应该永远记住有用的IT支持建议......“你试过重新启动它吗?”

似乎已经解决了这个问题。我已经将它报告为潜在的错误,因为在向解决方案添加测试项目时,我认为IDE不需要重新启动。

+0

请记住这是一个早期版本,而不是最终版本 –

+1

当然。谢谢。 :-) –

+0

该解决方案也可用于最终版本。您需要在IDE中执行此操作才能让IDE解决依赖关系。 – Hahn

相关问题