使用 dotnet cli 无法恢复 Mvc CodeAnalysis 依赖项

Trouble restoring Mvc CodeAnalysis dependencies using dotnet cli

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

看来 Microsoft.AspNet.Mvc 的几个依赖项(即 Microsoft.CodeAnalysis.CSharp / .Common)已修复到看似过时的包。

对此的要求是使用 dotnet cli 工具并同时针对 .NET Vanilla 和 .NET Core。

有没有办法让 Mvc 引用 CodeAnalysis 的核心兼容版本?


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

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

输出:

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": { }
  },
  ...
}

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

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

只需从 NuGet 包管理器 安装最新版本的 Microsoft.CodeAnalysis.Common 对我来说效果很好。