[翻译]第二天 - Visual Studio 中的 .NET Core 模版一览
原文: http://michaelcrump.net/part2-aspnetcore/
免责声明:我不是 .NET Core 开发团队的一员,并且使用的是公开、可用的工具。
简介
该系列文章的完整列表如下:
- 第一天 - 在 Windows 下安装和运行 .NET Core
- 第二天 - Visual Studio 中的 .NET Core 模版一览
- 第三天 - 在 Mac 上运行 .NET Core 应用程序
- 第四天 - 从 .NET Core 应用程序创建 NuGet 包
- 第五天 - 创建一个 .NET Core 测试项目
- 第六天 - 将一个已有的 .NET Core 项目迁移到 csproj
- 第七天 - 创建一个 ASP.NET Core 应用程序
- 第八天 - 使用 Visual Studio Code 开发一个 .NET Core 控制台应用程序
在这篇文章中,我会讲讲 .NET Core 的 Visual Studio 模版。
VS 模版和全新引用
在此之前,请先确保已经从下载页面
安装了 .NET Tools for Visual Studio。
在 Visual Studio 中,通过 文件->新建项目 ,使用 .NET Core 模版创建一个项目。从下面的列表中选择控制台应用程序:

一旦项目加载完成后,你将看到下面的项目结构,它和大多数控制台应用程序很像,除了显示 引用的方式。

如果我们在 Main 方法中添加代码 Console.WriteLine("Hello World");,我们并不会看到任何的红波浪线。这时因为 System.Console 是.NET Standard库的一部分,它被包含在模版中,如下:

你可以浏览源代码查看 .NET Core 的基础类库,也可以通过Package search帮助查找 .NET Core 类库。
如果要添加默认没有被引用的软件包,该怎么办?
让我们用一种情况来说明,这时某个包没有被包含但是我们又需要它。我会用 Json.NET 快速做一个示例。
创建一个文件命名为 Account.cs,然后把放入这段代码:
public class Account
{
public bool Active { get; set; }
public DateTime CreatedDate { get; set; }
public string Email { get; set; }
public IList<string> Roles { get; set; }
}
然后在 Program.cs 的 Main 方法中添加以下代码:
Account account = new Account
{
Email = "michael@blah.com",
Active = true,
CreatedDate = new DateTime(2017, 2, 20, 0, 0, 0, DateTimeKind.Utc),
Roles = new List<string>
{
"User",
"Admin"
}
};
string json = JsonConvert.SerializeObject(account, Formatting.Indented);
Console.WriteLine(json);
十分简单!调用 JsonConvert 和 Formatting 的地方需要会出现一条红波浪线。现在你能简单添加包,如下所示:

不错!Json.NET 包已经被添加了,你可以查看 project.json 看到引用的地方,如下所示:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
"Newtonsoft.Json": "9.0.1"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
这里需要注意的是,事实上你可以直接在 project.json 里添加引用,如下所示:

如果你熟悉 Node.js 你会发现他们很相似。
总结
今天就到此为止了。感谢你阅读这篇文章,如果你觉得对你有所帮助或者喜欢这篇文字,请点击分享按钮。另外,如果你想了解我学习 .NET Core 过程中的一些情况,随时留言。
单词总结:
call it a day : 阻止你正在做的事
[翻译]第二天 - Visual Studio 中的 .NET Core 模版一览的更多相关文章
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)
运行应用 In Visual Studio, press CTRL+F5 to launch the app. Visual Studio launches a browser and navigat ...
- 【翻译】使用Visual Studio创建Asp.Net Core MVC (一)
This tutorial will teach you the basics of building an ASP.NET Core MVC web app using Visual Studio ...
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...
- [转]【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
本文转自:https://www.cnblogs.com/inday/p/6288707.html HTTP is not just for serving up web pages. It’s al ...
- ASP.NET Core 中文文档 第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
原文:Building Your First Web API with ASP.NET Core MVC and Visual Studio 作者:Mike Wasson 和 Rick Anderso ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- Visual Studio 中 Build 和 Rebuild 的区别
因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...
- [No0000AE]在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...
- [转]如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
本文转自:http://www.cnblogs.com/stg609/p/3673782.html 开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framew ...
随机推荐
- mcu 通信数据解析
串口发送一帧数据时,两个字节的间隔时间是多少? 波特率:发送二进制数据位的速率,习惯上用 baud 表示,即我们发送一位二进制数据的持续时间=1/baud. 如果波特率为9600,发送一个位需要的时间 ...
- 如何从平面设计转行到UI设计?
时代的变迁,科技的进步,工具的发展,薪资的差距,促使许多人转行的原因,但平面与界面两者之间有着哪些的差异呢?如果,想要转行又该具备哪些条件呢? 平面.界面设计之间的差异性 平面设计以『视觉』为主轴,强 ...
- ios微信打开网页键盘弹起后页面上滑,导致弹框里的按钮响应区域错位
input失去焦点,页面被顶起没有还原,所以就有以下的方法来处理 $("input").blur(function(){ setTimeout(() => { co ...
- redis 和 kookeeper 连用 构建 redis集群
转载地址:https://www.zhihu.com/question/62598701
- 再读c++primer plus 003
1.如果函数返回一个结构而不是一个指向结构的引用,将把整个结构复制到一个临时位置,再将这个拷贝复制给dup.但在返回值为引用时,将直接复制给变量,其效率更高. 2.返回引用时最重要的一点是,应避免返回 ...
- 【转】如何用Redis做LRU-Cache
LRU(Least Recently Used)最近最少使用算法是众多置换算法中的一种. Redis中有一个maxmemory概念,主要是为了将使用的内存限定在一个固定的大小.Redis用到的LRU ...
- jquery选择树:CheckTree 插件
在做权限等提交的时候,需要用到选择树.比较了很多插件如:easyUI 树,ztree等等.本来决定自己写,但是到最后还是发现了checkTree这个插件.省了很多事情. 但是在引用过程中还是出现了一些 ...
- The XOR Largest Pair(Tire字典树应用)
题目链接:传送门 思路:建立一个32位的字典树,对每一个要插入的数字查找它异或的最大值(就是尽量全部二进制的值都相反), 然后获得两个数异或的最大值. #include<iostream> ...
- Tomcat架构解析(六)-----BIO、NIO、NIO2、APR
对于应用服务器来说,性能是非常重要的,基本可以说决定着这款应用服务器的未来.通常从软件角度来说,应用服务器性能包括如下几个方面: 1.请求处理的并发程度,当前主流服务器均采用异步的方式处理客户端的请求 ...
- Win7 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6
书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...