巨硬(微软)发布asp.net5rc1
前言
在前两天的 connect () 演讲中,巨硬非常自豪地宣布运行时和工具 RC1 版本的 ASP.NET 5 的可用性和框架增强的 web 开发工具,并可用于visual studio 2015 update 1,(下载)http://get.asp.net网站安装的框架和工具。说明、 下载和样品可让你了解更多关于新的 ASP.NET 5。
注意: 当前 ASP.NET 5 RC 安装程序的已知的问题。如果您从包含以前版本的 DNVM (DotNetVersionManager-x64.msi 或 DotNetVersionManager x86.msi) 的 MSI 安装程序或 Visual Studio (WebToolsExtensionsVS14.msi 或 WebToolsExtensionsVWD14.msi) 的 ASP.NET 工具的文件夹中运行安装程序,则安装程序将失败并产生错误中,"0x80091007-哈希值是不正确"。要变通解决此问题,请运行从文件夹中不包含以前版本的安装程序文件的安装程序。
关于下载安装
http://www.cnblogs.com/Kation/archive/2015/11/22/4985139.html.此链接中的方法可用于vs2014express
https://docs.asp.net/en/latest/getting-started/installing-on-windows.html。官方可信文章,评论区有关于vs2015rc应用于vs2015
Visual Studio 更新
从此开始 ASP.NET 5 RC
刚安装好的vs2015 update1是不提供与asp.net5rc有关的扩展/工具,只有当您选择创建关于'Get ASP.NET 5 RC'的应用程序模板时才会安装该关于ASP.NET5的工具和框架(这句话有歧义,微软真正想表达的是:无论你是首次使用vs2015还是vs2015rc1,只要是首次创建asp.net5模板项目,界面都会如下图1的显示方式,如果您并非是首次创建,那么说您vs上的项目模板已经集成好了asp.net5的空项目,webapi,web应用程序项目模板如图2,这句话在原文链接的评论中得以验证,原文链接于本文最下方)
之前
(http://blogs.msdn.com/resized-image.ashx/__size/400x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56/2816.blog1.png)
现在
(http://blogs.msdn.com/resized-image.ashx/__size/400x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56/4555.blog2.png)
熟悉的三个 ASP.NET 5 模板空、 Web API 和 Web 应用程序是然后可用安装后完成。
下面是广告时间:特别提供给bootrap的广告
“在新版的vs下新工具如何配合bootstrap制作响应式页面‘尤其是cshtml页面’”,在代码编辑器的页面上方能看到关于此开发技术‘bootstrap’的开发建议。
这个英文貌似看不懂“This extension installation needs to be completed only once per Visual Studio install and does not need to be repeated for every project.The result is a collection of almost 40 HTML snippets that will be added to the Visual Studio toolbox for HTML and CSHTML pages to help create widgets and layouts using the bootstrap CSS framework.”通过收集40段代码片来获取当前开发页面是否需要安装此插件。并且,此插件仅需安装一次就能在往后的项目中继续时候。
新的bower包管理器ui界面
Visual Studio 2015及之前几个版本用的都是nuget作为用户及服务器端的包管理器。而在asp.net5,我们建议使用bower来作为客户端管理功能例如JAVASCRIPT,CSS和字体库。但是并没有使用图形界面。现在大家可以通过在解决方案右键菜单中选择‘Manager Bower Packages’来开始使用bower(我觉得之所以用bower,大概是为了linux那边的妥协)。虽然界面确实模仿了nuget管理器的样式,但是巨硬相信,它将是以bower的方式作为终端连结用户流行下去。
关于bower的说明:目前,并非所有的nuget第三方程序、类库、框架、代码都能在bower中搜索或使用,但是巨硬拍了拍胸膛:老子已经把在nuget上流行的类库及代码都添加到了bower。此时巨硬飚了两行眼泪说:大爷,您就试试bower呗。用了不吃亏哒。
不兼容的 NuGet 程序包
当然,bower尽管能拥有nuget上的大多流行包,但也存在某部分不兼容的地方,例如:某些包的新版本仅支持bower不支持nuget,所以,当你使用nuget安装该包时,‘我们’仍会友好的提示:此包不在nuget兼容版本,请使用bower下载安装。
搭建mvc基架项目
当初我们仅允许在拥有配置身份验证的项目中才拥有的功能,现在我们允许大家随意使用啦!!!(贱人就是傲娇)
与之前几乎一致的配置窗口允许您自定义controllers,razor views,api controllers目录形式(后面四个字我自己加的,用得多的估计能看懂)
解决方案管理器的清理
虽然,新版的管理器视图让ASP.NET, Gulp, Bower, and npm 资源都挤到了一起,所以,我们还建议您以我们下面的方式来搭建项目目录。呵呵
jeffry狠萌的提到:原来的bower.json已经被藏起来啦,你看不到看不到(其实是放到了wwwroot目录下面),而package json在默认视图下是隐藏的一切都是为了bower,当然想看的话之间点击文件/目录左边的三角形就能显示了T.T。然后就是用hosting.json来代替了hosting.ini.原文中说道,虽然少了这个文件就意味着项目会在默认端口5000下运行(我试过yoman项目通过kerstrel承载,好像当时即可以用5000也可以用5001端口)。Viewmodel 目录也被我们收藏到了某个位置,你找找看。
框架与运行时的更新
关于static void main的新玩法
为了配合其他版本clr应用程序入口,新的入口语法如下:该方法会在startup.us文件下方显式调用
public static void Main(string[] args) => WebApplication.Run(args);(看起来好帅,也好像可以扩展,大家不妨试试)
此指令是使用隐藏方法的为了映射给dnx作明确的入口点来启动webAPP,当然你也可以多加几行代码来写。main的返回类型可以改,别那么傻一定要用void。更多关于这个方法的咨询麻烦移步到(github )
跨平台的sql客户端
在rc中,我们还为跨平台引入了一个用于sql连接客户端的beta版本。在默认创建的模板项目也能发现此包
通过使用此包里的某些实例and方法,已经可以跨越linux,mac,windows来作为访问sqlserver的客户端了,但是当前的版本并不支持多动结果集的方式连接数据库(我的理解是多个数据集在读写数据库的时候使用同一个连接串即为多动结果集)。所以请在连接串上禁止此连接方式
“ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=xxxx;Trusted_Connection=True;MultipleActiveResultSets=false”
在已知的bug中发现了某些平台下dnx无法正常加载System.Net.Security包,如果你遇到了此类问题并与sqlclient相关(此包并未加载给sqlclient等的相关提示),那你可以通过在project.json上明确引用System.Net.Security来解决这个bug。
关于这个的官方介绍https://msdn.microsoft.com/zh-cn/library/h32h3abf
默认网站根节点
在asp.net5的beta版本中,应用的静态内容的根节点定位在webroot下而配置属性则在project.json文件里。在审视过此改动带来的阅读不好的负面影响,所以在此版本对于webroot的配置属性会在一个名为hosting.json文件中配置,位于project.json旁边。关于asp.net5的主机配置偶们保证不会在project.json出现/干扰。
asp.net的主机配置方式是挺智能的,即使你用wwwroot作为应用的根节点host配置会默认地将目录看做webroot。(感觉这段话有坑,先把原文复制上来)
However, the ASP.NET hosts are smart if you do not have a hosting.json file with a webroot parameter configured. If there is a wwwroot folder in the base application folder, it will default that as the webroot of your application. If there is not a wwwroot folder, it will serve the base application folder as the base of static file contents for your web application.
强命名框架集(多个翻译书对这个的中文翻译都有差别:Strong Named Framework Libraries)
现在,我们会把强签名框架集作为一种引用方式放进asp.net,完整的列表在github中可以看到。下面可以看到一些变化的说明:
- 你的项目是含强命的,所以你调用的dll也必须是有强命名的
- 在window下应用哪些系统更新时即需要放进全局程序集缓存GAC,而这些放进GAC中的库s都需要以强命名方式留驻在GAC中。
介绍asp.net平台标准
原文地址:http://blogs.msdn.com/b/webdev/archive/2015/11/18/announcing-asp-net-5-release-candidate-1.aspx
页面右方广告栏中间位置有bing翻译。