2016-12-09 112 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

相關問題