使用dotnet cli恢复Mvc CodeAnalysis依赖关系时遇到问题

时间:2016-02-12 13:51:59

标签: c# asp.net-mvc asp.net-core .net-core dotnet-cli

我在恢复ASP.NET 5 / ASP.NET Core 1.0的依赖项时遇到错误。

似乎Microsoft.CodeAnalysis.CSharp的一些依赖项(即.Common / Microsoft.AspNet.Mvc)被修复为看似过时的软件包。

对此的要求是使用dotnet cli工具并以.NET Vanilla和.NET Core为目标。

有没有办法让Mvc引用与Core兼容的CodeAnalysis版本?

在Visual Studio 2015中重现的步骤(v14.0.24729.00 Update 1):

  1. 文件>新>项目>网络> ASP.NET Web应用程序
  2. API.NET 5模板> Web API
  3. 打开PM,运行命令dotnet restore
  4. 输出:

    info : Restoring packages for C:\PATH_TO_SOLUTION\WebApplication2\src\WebApplication2\project.json...
    error: Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 is not compatible with DNXCore,Version=v5.0.
    error: Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 is not compatible with DNXCore,Version=v5.0.
    error: Some packages are not compatible with DNXCore,Version=v5.0.
    error: Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 is not compatible with DNXCore,Version=v5.0 (win7-x64).
    error: Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 is not compatible with DNXCore,Version=v5.0 (win7-x64).
    ... (loads more errors) ...
    

    project.json文件包含:

    {
      ...
      "dependencies": {
        ...
        "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
        ...
      }
      ...
      "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
      },
      ...
    }
    

2 个答案:

答案 0 :(得分:3)

使用(当前)最新的稳定版本仅作为目标框架使用dnxcore50。在我的project.json中:

"Microsoft.CodeAnalysis.Common": "1.1.1",
"Microsoft.CodeAnalysis.CSharp": "1.1.1"

答案 1 :(得分:2)

NuGet Package Manager 安装最新版本的Microsoft.CodeAnalysis.Common对我来说很好。