VS2015 RTM与ASP.NET 5 RC1之坑
最近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