加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – VS 2014 CTP无法识别mscorlib中的名称空间

发布时间:2020-12-15 22:08:01 所属栏目:百科 来源:网络整理
导读:我在 Windows 8.1虚拟机中安装了vs 2014 ctp 3.并尝试创建一个vnext库. 当我在我的代码中添加using语句时: using System.Diagnostics; using System.Threading.Tasks;public Task Log(LogLevel level,IFormatProvider formatProvider,string message,params
我在 Windows 8.1虚拟机中安装了vs 2014 ctp 3.并尝试创建一个vnext库.
当我在我的代码中添加using语句时:

using System.Diagnostics;  
using System.Threading.Tasks;

public Task Log(LogLevel level,IFormatProvider formatProvider,string message,params object[] args)  
{
    return Task.Run(() =>  
    {  
        if (IsLogLevelEnabled(level))  
        {  
            string category = Enum.GetName(typeof(LogLevel),level);  
            string info = string.Format(message,args);  
            Debugger.Log((int)level,category,info);  
        }  
    });  
}

“Debugger.Log”确实带来了代码智能,这可能意味着vs在mscorlib中找到了引用.如果我按“F12”,vs将导航到mscorlib.dll中的Debugger代码.但是,当我尝试构建项目时,它总是抛出:

名称“Debugger”在当前上下文中不起作用.

我试图在project.json中添加引用,但是没有“System.Diagnostics”供参考.如果我在project.json中写了“System.Diagnostics”:“”,那么在项目的引用中会出现警告.

我该怎么办?先感谢您.

解决方法

如果你有CTP3模板给出的默认project.json,你可以定义k10(CoreCLR)目标框架,以及好的旧net451. Debugger类在k10目标框架中没有该方法(不要问我为什么),因此不会构建.从project.json中删除k10目标,它将构建,但现在只针对net451.

您的项目总是朝着net451构建,VS14并没有为您提供一个很好的方法来查看哪个目标框架失败.希望他们尽快添加此功能.

这个project.json构建:

{
    "dependencies": {
        "System.Diagnostics": "","System.Threading": ""
    },"frameworks" : {
        "net451" : { 
            "dependencies": {
            }
        }
    }
}

这不构建:

{
    "dependencies": {
        "System.Diagnostics": "","frameworks" : {
        "net451" : { 
            "dependencies": {
            }
        },"k10" : { 
            "dependencies": {
                "System.Runtime": "4.0.20.0"
            }
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读