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 ...
随机推荐
- Python框架之Tornado(三)请求
概述 本篇就来详细介绍tornado服务器(socket服务端)是如何接收用户请求数据以及如果根据用户请求的URL处理并返回数据,也就是上图的3 系列所有步骤,如上图[start]是一个死循环,其中利 ...
- 关于 Raphael
Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQTouch,以及SVG.VML处理库Ra ...
- CI生成查询记录集result(),row(),row_array().....
result() 该方法执行成功返回一个对象数组,失败则返回一个空数组. 一般情况下,我们使用下面的方法遍历结果,代码就像这样: $query = $this->db->query(&qu ...
- C代码实现数组
直接上代码,没有什么说的 # include <stdio.h> # include <malloc.h> # include <stdlib.h> //用C实现数 ...
- ex1-第一个程序 ”helloworld”
代码: print("Hello world.")print("Hello again.")print("I like typing this.&qu ...
- 作业六:团队项目——编写项目的Spec
主要内容: 各组结合所选项目,编写项目的规格说明书(Spec),Spec应至少包含以下内容:(20分) 1. Spec的目标 2. 项目的典型用户和场景 3. 项目的用例模型 4. 项目中涉及到的术语 ...
- Kinect for Windows SDK开发学习相关资源
Kinect for Windows SDK(K4W)将Kinect的体感操作带到了平常的应用学习中,提供了一种不同于传统的鼠标,键盘及触摸的无接触的交互方式,在某种程度上实现了自然交互界面的理想,即 ...
- 女生的最爱,装饰品。WPF也有,Adorner。(上海晒衣服理念)
说到装饰,不由要说到女性. 去年过年回家给我妈买了周大福项链,很明显就感觉待遇就不一样了,即使这样,还是被一个阿姨说应该买更重点的.看来钱这种东西果然是多一点才好.虽然自己无所谓,但让家里人更开心也是 ...
- MySQL 远程连接(federated存储引擎)
标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...
- [变]C#谜题(1-10)表达式篇
[变]C#谜题(1-10)表达式篇 最近偶然发现了<Java谜题>,很有意思,于是转到C#上研究一下. 本篇是关于表达式的一些内容. 谜题1:奇数性(负数的取模运算) 下面的方法意图确定它 ...