淘客网站难做吗,做同城服务网站比较成功的网站,湛江建设免费网站,企业做网站需要注意事项ASP.NET Core 2.0 发布日期#xff1a;2017年8月14日
ASP.NET团队宣布ASP.NET Core 2.0正式发布#xff0c;发布Visual Studio 2017 15.3支持ASP.NET Core 2.0#xff0c;提供新的Razor Pages项目模板。
详细发布信息查看.NET Core 2.0.0发布说明文档
最新版SDK下载…ASP.NET Core 2.0 发布日期2017年8月14日
ASP.NET团队宣布ASP.NET Core 2.0正式发布发布Visual Studio 2017 15.3支持ASP.NET Core 2.0提供新的Razor Pages项目模板。
详细发布信息查看.NET Core 2.0.0发布说明文档
最新版SDK下载https://dot.net/core
ASP.NET Core 2.0提供一系列新功能使得Web应用开发、发布、部署和维护变得更加容易框架性能得到进一步提升。
前言答读者问time by2017.8.19
在开始之前先集中回复前两篇文章评论中大家比较关注的问题
问题1工具的更新问题问题by 軒轅劍有没单独升级到15.3的更新啊答案by yyww下载新版本的安装程序1M多会自动更新的
VS2017安装程序经过重构变成模块化安装所以对于15.3版本的更新是增量更新下载最新的安装程序会自动检测。 Visual Studio For Mac 7.1也一样检测软件更新进行增量更新。 问题2.NET Standard到底是什么问题by wdwwtzy这个系列不错想听听 standard 到底是啥建议深入一些现在太浅了问题by 海阔天空XM几张体系结构图
.NET Standard是一组API集合支持.NET Standard的.NET平台之间可以实现代码共享基于.NET Standard构建的类库可以在支持.NET Standard的.NET平台进行复用防止代码碎片化。目前支持.NET Standard 2.0的平台有
.NET Framework 4.6.1.NET Core 2.0Mono 5.4Xamarin.iOS 10.14Xamarin.Mac 3.8Xamarin.Android 7.5UWP (预计2017年下半年发布)
在深入一点看这张图 平台对.NET Standard 支持对应表by 农码一生
【图】
问题3关于System.Drawing API是否提供问题by PowerShell免费软件.net core2正式版了增加了System.Drawing。有人在上面成功运行以前的winform程序吗谁能帮忙搞个hello试试看吗
命名空间System.Drawing是增加了只提供了结构体并没有提供绘图类相信在接下来的版本会支持。
项目升级到ASP.NET Core 2.0
ASP.NET Core 2.0 可以同时运行在.NET Framework 4.6.1 和 .NET Core 2.0框架更改项目目标框架为netcoreapp2.0
PropertyGroupTargetFrameworknetcoreapp2.0/TargetFramework/PropertyGroup
在Visual Stdio中可以设置项目属性 frameborder0 scrollingno styleborder-width: initial; border-style: none; width: 883px; height: 176px;
也可以手动编辑项目文件将原项目中Microsoft.AspNetCore.*引用包升级到2.0
ItemGroupPackageReference IncludeMicrosoft.AspNetCore.All Version2.0.0 /PackageReference IncludeMicrosoft.Extensions.Logging.Debug Version2.0.0 /PackageReference IncludeMicrosoft.VisualStudio.Web.BrowserLink Version2.0.0 //ItemGroup
ASP.NET Core 2.0项目发布做了优化发布文件只包含引用的类库。这个优化有助于使发布过程更流畅更容易分发Web应用程序。
将 ASP.NET Core 1.0 升级到 2.0 详细内容可以参看这篇文章。
新增功能Razor Pages介绍
ASP.NET Core 2.0中提供一种新的编码方式这种方式在页面逻辑集中的场景下比使用MVC架构开发更加简单。
Razor Pages是页面优先的架构允许用户开发界面时使用简单的服务端交互方式通过页面模型对象Page Model进行数据交互而无需控制器中转。
在项目启动文件中添加代码
public class Startup{ public void ConfigureServices(IServiceCollection services) { // 包含对Razor Pages 和控制器支持.services.AddMvc();} public void Configure(IApplicationBuilder app) {app.UseMvc();}
}
当在服务注册中调用AddMvc方法时会激活Razor Pages功能。添加一个测试页面放在Pages目录下命名为Now.cshtml。
pagehtml body h2The server-local time now is:/h2 pDateTime.Now/p /body/html
这看起来像是标准的Razor视图只是在页面顶部添加标记page就定义该页面为独立的Razor Page在页面中依然可以使用 HtmlHelpers, TagHelpers 或者.NET 代码可以像在Razor视图中一样定义方法只需添加块级元素functions然后在其内部编写代码。
pagefunctions {public string FormatDate(DateTime theTime) {return theTime.ToString(d);
}}htmlbodyh2The server-local time now is:/h2pFormatDate(DateTime.Now)/p/body/html
结合使用PageModel对象可以创建更加复杂的页面交互PageModel是一个MVVM架构概念相当于视图模型VM允许执行方法并将属性绑定到对应的页面中。在Pages目录中创建一个NowModel.cshtml.cs 类。
namespace MyFirstRazorPage.Pages{ public class NowModel : PageModel{ private IFileProvider _FileProvider; public NowModel(PhysicalFileProvider fileProvider) {_FileProvider fileProvider;LastModified _FileProvider.GetFileInfo(Pages/Now.cshtml).LastModified.LocalDateTime;} public DateTime LastModified { get; set; } public void OnGet() { }}
}
这个类继承自PageModel根据页面业务需要可以构建与页面交互的逻辑类并且可以对该类中的业务逻辑进行单元测试。在本例中将LastModified属性加载到页面。另外注意OnGet方法用来声明PageModel可以响应HTTP GET请求。
更新Razor Page使用PageModel定义的LastModified属性。
pagemodel MyFirstRazorPage.Pages.NowModel
html body h2This page was last updated:/h2 pModel.LastModified/p /body/html
更多Razor Pages详细介绍参看资料。
回到目录
模板更新
模板已经增强不仅包含MVC模式的Web应用程序模板也包含Razor Pages Web应用程序模板还包含一系列单页应用SPA程序模板。这些单页模板使用Javascript服务功能在ASP.NET Core服务中嵌入NodeJS将JavaScript应用程序服务器作为项目中的一部分进行编译。
命令行工具提供的内置项目模板 Entity Framework Core 2.0提供DbContext池
参看Entity Framework Core 2.0发布稍后发布会用单独一篇文章总结 监视器、无代码更改配置、应用程序监视器
运行在Azure应用服务上的ASP.NET Core 2.0项目无需修改提供性能分析、错误报告和Azure应用程序监视功能。
在Visual Studio 2017中右键项目Add-Application Insights Telemetry启动应用程序数据收集然后可以直接预览日志信息和应用程序性能报告。 这个功能可以让我们在开发阶段对应用程序性能做出测试和反馈当程序发布到Azure之后可以在Azure门户中进行分析和调试程序信息的收集从第一次发布应用程序并导航到云门户时开始。Azure将会以一个紫色横幅提示您这表明应用程序监视和分析功能是可用的。 点击进入查看应用程序监视服务无需重新编译和部署应用程序监视服务将开始报告捕获到的活动数据。 数据报告显示了应用程序中失败的请求和错误的数量。单击关注的数据项将展示关于失败请求的详细信息: 上图中抛出一个System.Exception,点击查看异常报告可以查看抛出异常的详细信息包括调用堆栈:
应用程序监视的快照调试现在支持ASP.NET Core 2.0应用。如果设置在应用程序中配置快照调试则顶部的“打开调试快照”链接将显示并显示完整的调用堆栈可以单击堆栈中的方法来查看本地变量: 好了!我们可以更进一步点击右上角的“下载快照”按钮在Visual Studio中启动一个异常调试会话。
这些页面的性能如何?从应用程序监视页面中选择左侧的性能选项深入地研究每个请求在应用程序的性能跟踪。 更多信息参看使用应用程序洞察的性能分析。
如果您想要使用您的应用程序的原始日志您可以在应用程序服务中启用诊断日志并将诊断级别设置为警告或错误以查看该异常被抛出。 最后选择左边的日志流您可以看到您在开发人员工作站上所拥有的控制台。选择将在Azure中触发的严重级别或更大级别的错误和日志消息。 所有应用程序感知功能都可以在 ASP.NET Core 中使用不用重新编译和部署。快照调试需要添加额外的步骤和一些代码而配置就像在启动类中添加额外代码一样简单。
更新信息参看应用程序洞察在线文档
Razor支持C# 7.1
Razor视图引擎借助Roslyn编译器支持C# 7.1功能比如默认表达式、推断的元组名称和模式匹配泛型。要在项目中使用c# 7.1特性在项目文件中添加以下属性然后重新加载解决方案:
LangVersionlatest/LangVersion
C# 7.1本身还是预览版状态可以在其GitHub存储库中查看这些特性的语言规范。
简化应用程序的主机配置
主机配置已经大大简化默认ASP.NET Core项目模板中提供WebHost.CreateDefaultBuilder自动分配一个Kestrel服务器如果IIS可用则尝试运行在IIS上并配置标准控制台日志提供程序。
public class Program{ public static void Main(string[] args) {BuildWebHost(args).Run();} public static IWebHost BuildWebHost(string[] args) WebHost.CreateDefaultBuilder(args).UseStartupStartup().Build();
}
总结
ASP.NET Core 2.0提供的一系列新功能提供编写应用程序的新方法简化了应用程序在生产环境的管理和维护。
相关文章
.NET Core 2.0 正式发布信息汇总.NET Standard 2.0 特性介绍和使用指南.NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决.NET Core 2.0 特性介绍和使用指南Entity Framework Core 2.0 新特性体验 PHP under .NET Core.NET Core 2.0使用NLog升级项目到.NET Core 2.0在Linux上安装Docker并成功部署解决Visual Studio For Mac Restore失败的问题
原文地址http://www.cnblogs.com/vveiliang/p/7380260.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注