VS 2015 Enterprise第二大坑
前言
继上篇文章之后,你会继续跌进大坑,这个坑困扰我一上午,同时也会让你大跌眼镜,如果你遇到了,那么恭喜你提升自身能力和解决能力的时机到了,当然你可以通过本文继续少走不必要的弯路【我也是无意中发现的捷径】!
话题
这个问题出现源于你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介绍
有关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第二大坑的更多相关文章
- Visual Studio 2015 Enterprise - 企业版 - 简体中文
文件名称 文件大小 百度网盘下载 微软官方下载 Visual Studio 2015 Enterprise - 企业版 - 简体中文 3.89GB http://pan.baidu.com/s/1bn ...
- hihocoder 微软编程之美2015 初赛 第二场(暴力+字典序+图论+思维算法)
题目1 : 扑克牌 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 一副不含王的扑克牌由52张牌组成,由红桃.黑桃.梅花.方块4组牌组成,每组13张不同的面值.现在给定52 ...
- 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 ...
- Visual Studio 2015 社区版.专业版.企业版[含安装密钥Pro&Ent]
社区版(Visual Studio Community 2015)可供非企业或开源开发者们免费访问: 在线安装exe:http://download.microsoft.com/download/B/ ...
- 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具
http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...
- C++ 用 vector 生成三维数组,并计算行、列、高
//Microsoft Visual Studio 2015 Enterprise //用vector生成三维数组,并计算行.列.高 #include <iostream> #includ ...
- 在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 ...
- Docker容器环境下ASP.NET Core Web API应用程序的调试
本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...
- Windows 10 使用C#如何将IE设置为默认浏览器
在WPF XBAP项目中遇到这样一个问题,程序在Windows 10上面无法运行.原因是因为Windows 10默认浏览器是Edge,而XBAP程序是需要在IE上面运行的.于是开始想办法修改Windo ...
随机推荐
- [Android]依赖注入框架squareup的dagger
分享一下Android依赖注入框架--Dagger使用 Dagger源码 Dagger1-Demo 希望能给大家的开发带来帮助.
- 移动端Web适配的两种做法思路总结
看了几篇文章,理一下网易跟淘宝移动端适配的思路,主要是参考 从网易与淘宝的font-size思考前端设计稿与工作流 像素相关概念 物理像素(physical pixel) 一个物理像素是显示器(手机屏 ...
- iOS 属性修饰符记录 --不定时更新
重新审视了一下OC在属性修饰符,特意记录一下来.以后不定时更新 > retain:只有在非ARC下才会有效,所有如果在ARC下使用了retain修饰也白搭 如以下的data属性用retain修饰 ...
- 关于英语PETS5备考的一些事
首先,自我介绍一下,我叫万世想,目前国内某985高校CS硕士在读,在现代软件工程课上,接触到了博客园,之前是自己在新浪云上用WP简单搭了自己的博客,但是都没有坚持下来.希望自己能够在博客园大家庭中,与 ...
- iOS 10 开发问题总结
兼容iOS 10 资料整理笔记 1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大 ...
- DSY2287*消失之物
Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. "要使用剩下的 N - 1 物品装满容积为 x ...
- Excel数据导入数据库的SQL快速生成
=CONCATENATE("insert into table_name(id, code, name, remark) values (uuid(),'",B2,"', ...
- C# 定时器 Timers.Timer Forms.Timer
1.定义在System.Windows.Forms里 Windows.Forms里面的定时器比较简单,只要把工具箱中的Timer控件拖到窗体上,然后设置一下事件和间隔时间等属性就可以了 //启动定时器 ...
- Concurrency并发性
今天看了有关性能的文章,性能也是客户所看重的. 文章推荐看了软件编程并发性. 就按书上敲了网址看:http://www.gotw.ca/publications/concurrency-ddj.htm ...
- SQL Server : Browser服务
SQL Server : Browser服务是SQL Server 2005新增的,简单的说,如果一个物理服务器上面有多个SQL Server实例,那么为了确保客户端能访问到正确的实例,所以SQL S ...