Msbuild Visual Studio 2017 RC中ASP.NET Core 1.1 MVC的xUnit配置

Msbuild Visual Studio 2017 RC中ASP.NET Core 1.1 MVC的xUnit配置,msbuild,asp.net-core-mvc,xunit.net,visual-studio-2017,Msbuild,Asp.net Core Mvc,Xunit.net,Visual Studio 2017,在Visual Studio 15中对ASP.NET Core MVC web应用程序进行单元测试时,我可以在测试文件中放入Microsoft.AspNetCore.MVC的using语句,然后访问框架类,例如ViewResult。使用Visual Studio 2017 RC,我甚至无法在测试项目中找到Microsoft.AspNetCore.Mvc。我相信这一定与依赖性有关 VS15中的project.json配置: { "version": "1.0.0-*", "testRunn

在Visual Studio 15中对ASP.NET Core MVC web应用程序进行单元测试时,我可以在测试文件中放入Microsoft.AspNetCore.MVC的using语句,然后访问框架类,例如
ViewResult
。使用Visual Studio 2017 RC,我甚至无法在测试项目中找到
Microsoft.AspNetCore.Mvc
。我相信这一定与依赖性有关

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>

Exe
netcoreapp1.1
1.0.500-预览2-1-003177
1.1.0
1.0.0-alpha-20161104-2
全部的
15.0.0-preview-20161123-03
4.6.38-α
4.3.0
2.2.0-beta4-build3444
2.2.0-beta4-build1194

VS17项目使用
xunit.runner.visualstudio
而不是
dotnet测试xunit
,因为后者只与project.json兼容,而不与.csproj兼容。我怀疑这种依赖关系的改变是我的问题的原因。如何更正此问题并访问MVC框架?

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


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

请记住,这是一个早期版本,而不是最终版本。此解决方案在最终版本中也有效。您需要在其他情况下执行此操作,以便让IDE解决依赖关系。