前言

继上篇文章之后,你会继续跌进大坑,这个坑困扰我一上午,同时也会让你大跌眼镜,如果你遇到了,那么恭喜你提升自身能力和解决能力的时机到了,当然你可以通过本文继续少走不必要的弯路【我也是无意中发现的捷径】!

话题

这个问题出现源于你Dnx执行环境的升级,你可以在PowerShell中通过 dnvm list 查看你版本如下

这告诉你两件事:(1)你安装了两个版本的Dnx 1.0.-beta5和1.0.0-beta6 (2)看见default(默认)没,意思是你项目中默认启动的是 1.0.-beta6 版本,通过下面你也会知道确实是这么回事。

好了,我们新建一个项目我起个名叫 FirstStudy ,通过昨天的学习,现在是生成也没错了,看见新建默认出现的页面,如下:【是不是有点想马上运行的赶脚】

来吧,走一个,尼玛!!我很想说脏话了,好吧,还是注意点素质!好好就新建一个项目,生成时你给我出错,把你毛病给治好了,现在运行你又来个直接出错,简直了.....错误如下:

好吧,既然出错就老老实实的解决吧!大概意思就是运行时要匹配确定的framework,你看到什么了?? Project.json 【如果不知道新建项目中各个文件的用途请参照汤姆大叔MVC系列即可】,这是程序集进行配置的地方,这是个关键,同时我很纳闷默认添加的Dnx版本是4.5.1和5.0如下

所以第一个想法就是将Project.json中的Dnx版本改为4.5即可,走你!等待程序包还原,生成解决方案时结果出错:

这说明在4.5版本中没有这命名空间,同时也说明不是这里的错!上面出错时也有说运行时的版本为 1.0.-beta6 ,此时我们也应该想到Project.json中有一个 dependencies 这个节点中的程序集就是Dnx4.5.1或者5.0中下的程序集【当你修改这里面的程序集版本再进行生成时,Dnx4.5.1或者5.0下的版本也会相应进行自动修改】,我发现创建时这里的版本如下:

通过这图我们知道这里面的版本结尾中都为 beta5 ,同时我们也知道我们通过PowerShell知道创建的版本为 beta6 ,如果你还不信我们看看项目中属性创建时Dnx SDK版本,我创建的项目FirstStudy属性为

通过这我们知道:我们Dnx执行环境为 beta6 ,而当创建项目时程序集的版本却为 beta5  !!所以说没有一劳永逸的事情,如果你更新了Dnx,VS 2015还没达到完美同步跟着你更新,那它怎么知道你更新了呢!!于是乎,我Project.json中依赖项中的程序集改为beta 6的,结果不太理想,生成出错,应该是有些还未有版本6的吧!!那只能另想他法了,那我反过来将项目中的属性Dnx Sdk改为beta5试试,说做就做如下

很遗憾生成就出错如下

就修改一下Dnx SDK版本连命名空间System都找不到了,看来路又走错了!至少我们确定肯定是Dnx版本的问题,到目前为止,我们想想项目下的文件是不是有些还是 beta6 还没进行修改呢?config.json相当于Web.Config比如进行数据连接排除,bower.json和gulpfile是和前台有关的东东,package.json相关gulp的版本,有一个文件我们忽略了,有没有,那就是global.json,全局什么东西,没准是全局配置呢?打开看看发现还真有关于Dnx版本的配置!

注意

这是我之后发现的问题,这里默认是版本是你创建时的版本也就是Dnvm list中default,当你在项目属性中进行更改为beta5生成后这里也会相应的更改为项目属性中的版本,可以说是同步的(global.json中Dnx版本随项目属性版本改变而改变)!


于是将 global.json 版本改为beta 5,最后还是错误如下:

此时已经非常绝望了,能将版本改的都已经进行修改了。想了两分钟,不知道哪来的天马行空的想法!

将Project.json中节点frameworks下的版本Dnx 4.5.1更改为4.5,等待其程序集还原后,再生成下,此时肯定会有错误,之前已经尝试,接着我将其版本改回Dnx 4.5.1,依然是等待其程序集还原,此时再生成下,结果让你大跌眼镜,全部生成成功!

结果F5运行下试试看,显然成功了!!!出现了仰慕已久而迟迟未出现的Asp.Net 5界面

至此从安装到生成到运行一切圆满的落下帷幕,so perfect。接下来可以进行愉快的Asp.Net 5之旅了!

总结

(1)创建项目运行出现错误的原因:当你将Dnx版本升级为beta6时,此时你创建的项目中程序集版本却是beta5。

(2)奇葩解决方案:将项目属性Dnx SDK版本改为beta 5,此时再重新生成下此时global.json将被项目属性版本覆盖,当然你也可以进行手动修改。(将Project.json中程序集版本改为beta 6行不通,也就是说只能讲项目版本进行降级而非升级),接下来就是:

将Project.json中节点frameworks下的版本Dnx 4.5.1更改为4.5,等待其程序集还原后,再生成下,此时肯定会有错误,之前已经尝试,接着我将其版本改回Dnx 4.5.1,依然是等待其程序集还原,此时再生成下,结果让你大跌眼镜,全部生成成功!

上述是我能想到的解决问题的方案,如果你遇见相同问题,用别的方案解决了的话,望告知,让我也能更好的学习!

补充

官网有关DNX介绍

Introduce DNX

有关Dnx以及指定Dnx Version Runtime

Specify Dnx Default Runtime Version

详细介绍DNX/DNVM/DNU

Introduce DNX/DNVM/DNU and how to install/run etc

VS 2015 Enterprise第二大坑的更多相关文章

  1. Visual Studio 2015 Enterprise - 企业版 - 简体中文

    文件名称 文件大小 百度网盘下载 微软官方下载 Visual Studio 2015 Enterprise - 企业版 - 简体中文 3.89GB http://pan.baidu.com/s/1bn ...

  2. hihocoder 微软编程之美2015 初赛 第二场(暴力+字典序+图论+思维算法)

    题目1 : 扑克牌 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 一副不含王的扑克牌由52张牌组成,由红桃.黑桃.梅花.方块4组牌组成,每组13张不同的面值.现在给定52 ...

  3. Change visual studio 2015 enterprise installation path(转)

    I would like to install VS2015 in a drive different than C:. The problem is that when I run the inst ...

  4. Visual Studio 2015 社区版.专业版.企业版[含安装密钥Pro&Ent]

    社区版(Visual Studio Community 2015)可供非企业或开源开发者们免费访问: 在线安装exe:http://download.microsoft.com/download/B/ ...

  5. 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具

        http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...

  6. C++ 用 vector 生成三维数组,并计算行、列、高

    //Microsoft Visual Studio 2015 Enterprise //用vector生成三维数组,并计算行.列.高 #include <iostream> #includ ...

  7. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  8. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

  9. Windows 10 使用C#如何将IE设置为默认浏览器

    在WPF XBAP项目中遇到这样一个问题,程序在Windows 10上面无法运行.原因是因为Windows 10默认浏览器是Edge,而XBAP程序是需要在IE上面运行的.于是开始想办法修改Windo ...

随机推荐

  1. Excel转Html

    项目结构: 这是一个maven项目,主函数在Client类里面 当运行程序的后,控制台情况: 当我们刷新了test.html文件后,用浏览器打开效果: 说一下这个过程的设计思路: 1.读取excel文 ...

  2. iOS单元格高度计算

    // Created by mac on 16/6/29. // Copyright © 2016年 zcc. All rights reserved. // #import "HotCel ...

  3. 安卓图标IconFont使用

    一.补充知识:PNG.IconFont.SVG理论 PNG为位图,是由不同的排列和染色的像素点组成的图像,位图的扩大实质是增加单个像素点的大小,故而导致在不同分辨率表现非常糟糕. SVG为可缩放矢量图 ...

  4. Git命令----放弃本地修改使用服务器上的代码

    git reset --hard FETCH_HEAD FETCH_HEAD表示上一次成功git pull之后形成的commit点.

  5. c++ eof()函数

    C++ eof()函数可以帮助我们用来判断文件是否为空,抑或是判断其是否读到文件结尾.在这里我们将会对其进行详细的介绍. C++编程语言中的很多功能在我们的实际应用中起着非常大的作用.比如在对文件文本 ...

  6. dom初识

    1什么是dom document object model文档对象模型 是将整个页面文档封装成了一个对象,就是一个文档对象 整个页面就是一个文档,是由很多的节点组成的节点又包括三部分: 元素 属性 文 ...

  7. Css 动画的回调

    在做项目中经常会遇到使用动画的情况.以前的情况是用js写动画,利用setTimeout函数或者window.requestAnimationFrame()实现目标元素的动画效果.虽然后者解决了刷新频率 ...

  8. MyBatis(跨表查询)

    1.建立数据库表如下: DROP TABLE IF EXISTS t_demo_user; CREATE TABLE IF NOT EXISTS t_demo_user( userid ), user ...

  9. 删除Mysql数据表中多余的重复记录的sql语句

    数据表 sniper_tb 中存在主键 id,字段url,现需要在url字段上添加 unique,但由于url存在重复记录,导致添加失败. 如何删除表中多余的url重复记录,仅保持一条? 思路一 将 ...

  10. Hadoop学习笔记—17.Hive框架学习

    一.Hive:一个牛逼的数据仓库 1.1 神马是Hive? Hive 是建立在 Hadoop 基础上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储. ...