从beta5升级我的解决方案后 - > beta6,我的项目无法再解析System.
和其他一些核心库。
例如,我得到像
这样的东西预定义类型' System.Object'未定义或导入
和
预定义类型' System.Boolean'未定义或导入
我已通过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可以很好地解析这些库。
清洁解决方案无济于事。
我该如何解决这个问题?
答案 0 :(得分:2)
你需要移动它:
"System.ComponentModel.Annotations": "4.0.10-beta-23109"
从主要依赖项部分进入dnxcore50
下面的部分那么您可能还需要使用所需的frameworkAssemblies更新dnx451:
"dnx451": {
"frameworkAssemblies": {
"System.ComponentModel": ""
}