使用VSCode创建Asp.Net Core
前言
.Net Core 2.0已经发布几个月了,惭愧!身为一个开发人员现在才开始接触,有人说有VS这一宇宙第一IDE在,为啥还要用VSCode,为啥?因为我们是程序猿啊!我们是攻城狮啊!我们爱折腾啊,在非windows下体验编译net的那种兴奋刺激的感觉,就像刚接触编程时第一个HelloWorld输出在电脑屏幕时的那种感觉,爽!看看我大net也能跑在linux下了。
本文是参考张善友老师的博客和微软官方教程下完成,下面开始(请原谅穷逼的我只能在window下练习了),如有不合理的地方欢迎指正,必虚心学习之。
开发环境
- 操作系统:win10
- .Net Core版本:2.0.2(官网下载最新的即可)
- 代码编辑器:Visual Studio Code
- NET Core 和 Visual Studio Code 下载链接
操作步骤
1.创建一个“HelloWorld”文件夹
2.打开Visual Studio Code 并打开刚才创建的“HelloWorld”文件夹
3.我们都知道.NetCore是用命令行执行的(不知道的请看参考1链接),打开 集成终端
4.在命令终端中输入“dotnet new sln -n HelloWorld”,按回车执行,此时在我们的“HelloWorld”文件夹下会生成“HelloWorld.sln”文件
5.创建“HelloWorld.web”项目,在集成终端中输入“dotnet new mvc -n HelloWorld.Web”,按回车后,此时我们的文件夹下面生成了一个mvc项目文件夹
6.按F5,选择 .NET Core ,如下图,会自动生成一个配置文件“launch.json”(配制文件使用的JSON格式的文件,不在是我们所熟悉的config文件)
7.启动build,终端中执行“dotnet build HelloWorld.Web”,按回车,类似我们直接用VS去编译程序一样,此时项目文件夹下面会增加bin/Debug文件夹
8.修改配置文件“launch.json”文件,我们是web项目,所以要修改“Configuration”节点中name=“.NET Core Launch(web)”部分,
program值修改成我们所build出来的文件路径,即:${workspaceFolder}/HelloWorld.Web/bin/Debug/netcoreapp2.0/HelloWorld.Web.dll
cwd 修改成我们具体的项目文件路径,即:${workspaceFolder}/HelloWorld.Web
9.选择调试信息按钮,即小虫子图片,并按F5,此时出现“找不到 preLaunchTask“build”。”,此问题应该是缺少相应的build信息导致的,
选择配置任务,选择.NET Core,添加一个默认的tasks.json 配置文件即可。
10.添加task.json后,按F5就可以愉快的跑起来了
总结
1.遇到两个问题一个是launch.json文件中program的路径配制,需要在${workspaceFolder}后配置真个HelloWorld.web项目的路径,只修改bin后面的路径会导致执行时,缺少HelloWorld.Web这一级路径;另一个是需要手动添加task.json文件。看这个帖子说是可以屏蔽掉preLaunchTask这个配置解决。
2.看别人写的东西还是需要亲身去试一试的,否则怎么能发现实际操作过程中的问题呢。
参考资料
使用VSCode创建Asp.Net Core的更多相关文章
- 创建ASP.NET Core MVC应用程序(6)-添加验证
创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...
- 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...
- 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图
创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
- 创建ASP.NET Core MVC应用程序(1)-添加Controller和View
创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...
- 在Mac下创建ASP.NET Core Web API
在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉 ...
- 《ASP.NET Core In Action》读书笔记系列四 创建ASP.NET Core 应用步骤及相应CLI命令
一般情况下,我们都是从一个模板(template)开始创建应用的(模板:提供构建应用程序所需的基本代码).本节使用 Visual Studio 2017 .ASP.NET Core2.0和 Visua ...
- [03-2]VS2017 创建 ASP.NET Core Web 程序
VS2017 创建 ASP.NET Core Web 程序 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自<从零开始学 ...
随机推荐
- LayoutInflater 三种获得方式
LayoutInflater 作用是从外部加载一个xml布局文件. 获得 LayoutInflater 实例的三种方式: 1.LayoutInflater inflater = getLayoutIn ...
- angularJS的一些用法
AngularJS 事件指令: ng-click/dblclick ng-mousedown/up ng-mouseenter/leave ng-mousemove/over/out ng-keydo ...
- put()
put() 作用: 将集合的所有键名和值,存放在一个集合对象中. public Map selectSingleData(String sql,Object...obj) throws SQLExc ...
- java基础回顾(一)
java的特点:开源.安全.跨平台.简单易懂.一次编译可多处运行. JDK:java开发工具包 JDK = JRE+JAVA开发工具 保证能够实现java开发的最小单元 JRE:java运行环境 JR ...
- 【转】【JAVA应用】多线程断点下载
[转自] 光仔December http://blog.csdn.net/acmman 问题:多线程下载的好处? 多线程下载比单线程下载快,主要的原因是采用多线程下载,可以抢占更多的服务器资源.抢占C ...
- 算法训练 区间K大数
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...
- CS:APP3e 深入理解计算机系统_3e CacheLab实验
详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...
- System.ServiceModel.CommunicationException: 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
- 非常棒的教程记录(JVM)
这里暂且记录下看过的非常棒的博客吧! JVM 指令集简单解释,来自一个不认识的网友的个人博客:http://www.iloveandroid.net/2015/12/06/jvm%E6%8C%87%E ...
- Android异步消息机制
Android中的异步消息机制分为四个部分:Message.Handler.MessageQueue和Looper. 其中,Message是线程之间传递的消息,其what.arg1.arg2字段可以携 ...