VS2015 RTM与ASP.NET 5 RC1之坑

时间:2023-03-08 18:42:26

最近Asp.Net 5的RC1出来了

VS2015的Update1也开始进入RC阶段

嗯,微软尿性,是时候转移到VS2015了

开始踩坑之旅

装好VS2015后,当然是开始折腾ASP.Net 5嘛

建了个ASP.Net 网站,测试一下,嗯,DNX beta5版本,一切正常

试试Nuget,发现这速度简直不能忍

把所有包都升级到最新后,发现引用全是感叹号

研究一番后发现,需要到程序包管理器里运行dnu restore命令,也就是还原程序包

经过漫长、漫长的等待,妈蛋,终于下载完所有包了

调试一下,发现报错了……

必应了一下,发现要升级DNX版本,用到命令dnvm upgrade

升级完后需要到项目设置里修改DNX版本为RC1

继续调试,擦,又报错,Microsoft.Dnx.Host.Clr.EntryPoint找不到了

查了下又发现,从beta8开始,这货不能用IISExpress了

需要用到Kestrel这货

好吧,从Nuget里添加

Microsoft.AspNet.IISPlatformHandler

Microsoft.AspNet.Server.Kestrel

这两个包

添加完后,在project.json的commands里添加

"kestrel": "Microsoft.AspNet.Server.Kestrel"

这样就会多出一个启动选项kestrel,然后就用这个启动

之后开始鼓捣DNX类库

但是又生成失败,奇怪的是错误列表里没东西

看看输出里的生成,发现这个Microsoft.DNX.PackageManager找不到了

真是坑爹,去查了一下,发现每次都要手动更新Microsoft ASP.NET and Web Tools 2015这货

RC1版下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=49959

选择WebToolsExtensionsVS14.msi下载

WebToolsExtensionsVSLP14_chs.msi语言包

下载安装之后终于一切正常了……

总结:

每次ASP.Net 5更新,需要做以下工作

1.dnvm upgrade,升级DNX版本并

2.设置项目DNX版本

3.NuGet升级包至相应版本,使用Update-Package -IncludePrerealease升级到最新版

4.如果网站项目升级前是Beta7之前版本,删除旧的Host包,添加包

Microsoft.AspNet.IISPlatformHandler

Microsoft.AspNet.Server.Kestrel

5.下载安装最新Microsoft ASP.NET and Web Tools 2015

搜索地址:https://www.microsoft.com/en-us/search/result.aspx?q=Microsoft+ASP.NET+and+Web+Tools+2015+&form=MSHOME#downloads