随时随地以任意方式编写NET应用程

希望大家现在都知道,Microsoft.NET不再仅适用于Windows。借助.NETCore,可以使用想要的语言(C#、VisualBasic或F#)编写应用程序,这些应用程序可以在选定的任何OS(Windows、macOS或Linux)上运行。当然,由于现在可以编写定目标到选定平台的应用程序,因此大家还期望能使用相同的开发者工具,这些超棒工具一直都是.NET开发的标志。令人鼓舞的是,随着我们支持的平台越来越多,用于创建超棒.NET应用程序的工具也越来越多。

本文将逐个介绍这些开发工具,它们适用于不同的个人工作风格和OS。首先,将介绍SDK随附的命令行工具,此类工具可与任意编辑器(尽管建议为VisualStudioCode)相互配对。然后,将介绍VisualStudio超棒的新功能,再介绍VisualStudio系列的最新成员VisualStudioforMac。最后,将介绍这些工具如何帮助大家利用软件容器,并尝试将应用程序顺畅发布到MicrosoftAzure云中。

1基本概念

为了方便本文演示,将通篇使用“.NETCore”一词,以保持一致性。不过,此名称涉及两项非常重要的技术,分别是.NETCore和.NETStandard。.NETCore是执行应用程序的跨平台运行时。.NETStandard是由编译器强制执行的一组API,这些API被用作类库的目标,因此一个库就可以在任何支持标准的运行时上运行。例如,.NETCore.0、.NETFramework4.6.1和Mono4.8都支持.NETStandard.0(及更低版本)类库。若要更好地理解这一概念,请参阅本期中的姊妹篇文章“揭秘.NETCore和.NETStandard”。

同样值得一提的是,.NETCore和.NETStandard.0支持的语言。粗略地讲,这两种技术的.0版都支持C#、VisualBasic和F#。不过,我们对这一版VisualBasic的目标是,启用.NETStandard.0类库。也就是说,VisualBasic只提供类库和控制台应用程序的模板,而C#和F#则还提供ASP.NETCore.0应用程序模板。

改进了通用项目文件

处理.NETCore项目时,首先会注意到的地方之一是,它们共用高度简化的通用项目格式。也就是说,使用一种工具(例如,命令行工具)创建的项目,可以在任何支持.NETCore的平台(如VisualStudio或VisualStudioforMac)上运行。采用全新的项目文件格式后,便不再需要使用GUID,也不再需要明确列出所含文件,这大大减少了将更新提交到版本控制系统时发生的合并冲突。下面的代码展示了新C#.NETCore控制台应用程序项目文件的全部内容:

ProjectSdk="Microsoft.NET.Sdk"PropertyGroupOutputTypeExe/OutputTypeTargetFrameworknetcoreapp.0/TargetFramework/PropertyGroup/Project

此外,通用格式也意味着同一团队的成员可以使用自己选择的设备和平台进行工作。如果三个团队成员分别想要在Mac、Windows和Linux上工作,他们全都可以顺畅参与同一个项目。若要详细了解更新后的项目格式,请访问aka.ms/newprojectfile。

3命令行工具

任何开发者工具的基础都是软件开发工具包(SDK),.NETCore也不例外。.NETCoreSDK不可或缺的一部分是命令行接口(CLI),支持用户使用命令行创建、生成和运行应用程序。借助CLI,可以使用常用编辑器创建应用程序,而无需安装更重量级的工具。

首先,安装免费的.NETCoreSDK(可从dot.net下载)。

安装SDK后,立即打开常用命令提示符,并运行“dotnet--help”,列出所有可用命令。dotnet命令是.NETCLI的驱动程序,语法为“dotnet谓词[参数]”。例如,若要查看可以创建的所有项目类型模板,请键入“dotnetnew”。若要新建项目,请提供短名称作为“new”操作的参数;例如,“dotnetnewrazor”创建包含新.NETCore.0Razor页面(若要了解这项超棒的新功能,请访问aka.ms/razorpages)的C#ASP.NETCoreWeb应用程序。若要运行应用程序,请键入“dotnetrun”,它会生成并启动应用程序。打开浏览器后转到输出字符串中指明的URL(例如,







































北京白癜风哪个医院治白癜风好
得了白癜风该怎么治疗



转载请注明:http://www.shhjfk.com/fzlc/9674.html