我在
Windows 8.1虚拟机中安装了vs 2014 ctp 3.并尝试创建一个vnext库.
当我在我的代码中添加using语句时:
当我在我的代码中添加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" } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。