在beta6升级后,DNX 4.5.1无法解析系统库

时间:2015-07-29 15:29:20

标签: asp.net-core

从beta5升级我的解决方案后 - > beta6,我的项目无法再解析System.和其他一些核心库。

例如,我得到像

这样的东西
  

预定义类型' System.Object'未定义或导入

  

预定义类型' System.Boolean'未定义或导入

Screenshot of errors

我已通过dnvm下载了最新的beta6运行时:

C:\Users\me>dnvm list

Active Version     Runtime Architecture Location                  Alias
------ -------     ------- ------------ --------                  -----
       1.0.0-beta4 clr     x64          C:\Users\me\.dnx\runtimes
       1.0.0-beta4 clr     x86          C:\Users\me\.dnx\runtimes
       1.0.0-beta4 coreclr x64          C:\Users\me\.dnx\runtimes
       1.0.0-beta4 coreclr x86          C:\Users\me\.dnx\runtimes
       1.0.0-beta5 clr     x64          C:\Users\me\.dnx\runtimes
       1.0.0-beta5 clr     x86          C:\Users\me\.dnx\runtimes
       1.0.0-beta5 coreclr x64          C:\Users\me\.dnx\runtimes
       1.0.0-beta5 coreclr x86          C:\Users\me\.dnx\runtimes
       1.0.0-beta6 clr     x64          C:\Users\me\.dnx\runtimes
  *    1.0.0-beta6 clr     x86          C:\Users\me\.dnx\runtimes default
       1.0.0-beta6 coreclr x64          C:\Users\me\.dnx\runtimes
       1.0.0-beta6 coreclr x86          C:\Users\me\.dnx\runtimes core

我已更新我的解决方案global.json

{
    "projects": [ "src", "test" ],
    "sdk": {
        "version": "1.0.0-beta6"
    }
}

我已更新project.json中所有引用的包:

{
    "version": "0.0.1-*",
    "description": "",
    "authors": [ "" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",

    "dependencies": {
        "System.ComponentModel.Annotations": "4.0.10-beta-23109",
        "Newtonsoft.Json": "6.0.6"
    },

    "frameworks": {
        "dnx451": { },
        "dnxcore50": {
            "dependencies": {
                "System.Collections": "4.0.10-beta-23109",
                "System.Linq": "4.0.0-beta-23109",
                "System.Threading": "4.0.10-beta-23109",
                "Microsoft.CSharp": "4.0.0-beta-23109",
                "System.Net.Http": "4.0.0-beta-23109",
                "System.Security.Cryptography.RandomNumberGenerator": "4.0.0-beta-23109",
                "System.Runtime.Extensions": "4.0.10-beta-23109"
            }
        }
    }
}

当我从beta4开始时,我觉得同样的事情发生在我身上 - > beta5,但我不记得我做了什么来解决它。

这仅适用于CLR运行时。当我切换到它时,CoreCLR可以很好地解析这些库。

清洁解决方案无济于事。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

你需要移动它:

"System.ComponentModel.Annotations": "4.0.10-beta-23109"

从主要依赖项部分进入dnxcore50

下面的部分

那么您可能还需要使用所需的frameworkAssemblies更新dnx451:

"dnx451": {
      "frameworkAssemblies": {
        "System.ComponentModel": ""
      }