[翻译]第二天 - 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 ...
随机推荐
- Mysql 常用增删改查命令集合教程
创建:create 插入:insert 更新:update 查询:select 删除:delete 修改:alter 销毁:drop 创建一个数据库: create databas ...
- 树状数组训练题1:弱弱的战壕(vijos1066)
题目链接:弱弱的战壕 这道题似乎是vijos上能找到的最简单的树状数组题了. 原来,我有一个错误的思想,我的设计是维护两个树状数组,一个是横坐标,一个是纵坐标,然后读入每个点的坐标,扔进对应的树状数组 ...
- Python学习杂记
Python中关键字yield有什么作用? 首先得理解generators,而理解generators前还要理解iterables: 你可以用在for...in...语句中的都是可迭代的:比如list ...
- php-fpm安装、配置与优化
转载自:https://www.zybuluo.com/phper/note/89081 1.php中fastcgi和php-fpm是什么东西 最近在研究和学习PHP的性能方面的知识,看到了factc ...
- 2018.12.30 bzoj3027: [Ceoi2004]Sweet(生成函数+搜索)
传送门 生成函数好题. 题意简述:给出n个盒子,第iii个盒子里有mim_imi颗相同的糖(但不同盒子中的糖不相同),问有多少种选法可以从各盒子中选出数量在[a,b][a,b][a,b]之间的糖果. ...
- js生成条形码插件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python-类-dict
class dict(object): """ dict() -> new empty dictionary dict(mapping) -> new dic ...
- excel 错误提示以及其他基础知识
http://wenda.tianya.cn/question/05a3d11b0e4f3c34 For i = 1 To ActiveSheet.ChartObjects.Count M ...
- javaWeb的验证码编写
一.前言 验证码可以说在我们生活中已经非常普遍了,任何一个网站,任何一个App都会有这个功能,但是为啥要有这个呢?如何做才能做出来呢?下面小编会带领大家一起用java完成一个验证码的功能. 二.验证码 ...
- ng-repeat动态改变样式
当我们使用AngularJs的ng-repeat时候动态绑定数据时,遇到遍历出来的标签样式都一样,这时候希望根据数组的下标分别对应不同的样式 解决:使用$index获取数组下标根据下标改变样式 < ...