注:网络上搜索到的关于VsCode创建调试.Net Core 项目的文章都比较老旧,不能完全参考使用,根据网络文章、微软官方文档的指导下,学习并整理此文档,但也大体和文档学习路线相似,主要为记录学习过程。

原文地址(个人博客):http://www.gitblogs.com/Blogs/Details?id=1fe78f56-62c1-4e00-9ba9-b02d03f4d98b

准备工作

1.下载并安装VSCode

2.安装.Net Core SDK

3.安装C#插件,C# Extensions 插件

安装完成后,重启VSCode

了解dotnet 命令

C:\>dotnet

Usage: dotnet [options]
Usage: dotnet [path-to-application] Options:
  -h|--help            Display help.
  --version         Display version. path-to-application:
  The path to an application .dll file to execute.

dotnet --version  查询.net core 的版本号

dotnet -h  查询帮助信息

C:\>dotnet -h
.NET 命令行工具 (2.1.202)
使用情况: dotnet [runtime-options] [path-to-application]
使用情况: dotnet [sdk-options] [command] [arguments] [command-options] path-to-application:
  要执行的应用程序 .dll 文件的路径。 SDK 命令:
  new              初始化 .NET 项目。
  restore          还原 .NET 项目中指定的依赖项。
  run              编译并立即执行 .NET 项目。
  build            生成 .NET 项目。
  publish          发布 .NET 项目以进行部署(包括运行时)。
  test             使用项目中指定的测试运行程序运行单元测试。
  pack             创建 NuGet 包。
  migrate          将基于 project.json 的项目迁移到基于 MSBuild 的项目。
  clean            清除生成输出。
  sln              修改解决方案(SLN)文件。
  add              将引用添加到项目中。
  remove           从项目中删除引用。
  list             列出项目中的引用。
  nuget            提供其他 NuGet 命令。
  msbuild          运行 Microsoft 生成引擎 (MSBuild)。
  vstest           运行 Microsoft 测试执行命令行工具。 常用选项:
  -v|--verbosity        设置命令的详细级别。允许值为 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。
  -h|--help             显示帮助。 运行“dotnet 命令 --help”,获取有关命令的详细信息。 sdk-options:
  --version        显示 .NET Core SDK 版本。
  --info           显示 .NET Core 信息。
  -d|--diagnostics 启用诊断输出。 runtime-options:
  --additionalprobingpath <path>    要探测的包含探测策略和程序集的路径。
  --fx-version <version>            要用于运行应用程序的安装版共享框架的版本。
  --roll-forward-on-no-candidate-fx 已启用“不前滚到候选共享框架”。
  --additional-deps <path>          其他 deps.json 文件的路径。 C:\>

开始创建项目

创建dotnetcode文件夹,作为项目主目录

D:\>cd dotnetcode

D:\dotnetcode>dotnet new sln -o zmblog
已成功创建模板“Solution File”。 D:\dotnetcode>cd zmblog D:\dotnetcode\zmblog>dotnet new classlib -o zmblog.Common
已成功创建模板“Class library”。 正在处理创建后操作...
正在 zmblog.Common\zmblog.Common.csproj 上运行 "dotnet restore"...
  Restoring packages for D:\dotnetcode\zmblog\zmblog.Common\zmblog.Common.csproj...
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Common\obj\zmblog.Common.csproj.nuget.g.props.
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Common\obj\zmblog.Common.csproj.nuget.g.targets.
  Restore completed in 223.44 ms for D:\dotnetcode\zmblog\zmblog.Common\zmblog.Common.csproj. 还原成功。 D:\dotnetcode\zmblog>dotnet new classlib -o zmblog.Models
已成功创建模板“Class library”。 正在处理创建后操作...
正在 zmblog.Models\zmblog.Models.csproj 上运行 "dotnet restore"...
  Restoring packages for D:\dotnetcode\zmblog\zmblog.Models\zmblog.Models.csproj...
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Models\obj\zmblog.Models.csproj.nuget.g.props.
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Models\obj\zmblog.Models.csproj.nuget.g.targets.
  Restore completed in 294.69 ms for D:\dotnetcode\zmblog\zmblog.Models\zmblog.Models.csproj. 还原成功。 D:\dotnetcode\zmblog>dotnet new razor -o zmblog.WebApp
已成功创建模板“ASP.NET Core Web App”。
此模板包含非 Microsoft 的各方的技术,有关详细信息,请参阅 https://aka.ms/template-3pn。 正在处理创建后操作...
正在 zmblog.WebApp\zmblog.WebApp.csproj 上运行 "dotnet restore"...
  Restoring packages for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj...
  Restore completed in 95.12 ms for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj.
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.WebApp\obj\zmblog.WebApp.csproj.nuget.g.props.
  Generating MSBuild file D:\dotnetcode\zmblog\zmblog.WebApp\obj\zmblog.WebApp.csproj.nuget.g.targets.
  Restore completed in 2.91 sec for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj. 还原成功。 D:\dotnetcode\zmblog>dotnet sln add zmblog.Common/zmblog.Common.csproj
已将项目“zmblog.Common\zmblog.Common.csproj”添加到解决方案中。 D:\dotnetcode\zmblog>dotnet sln add zmblog.Models/zmblog.Models.csproj
已将项目“zmblog.Models\zmblog.Models.csproj”添加到解决方案中。 D:\dotnetcode\zmblog>dotnet sln add zmblog.WebApp/zmblog.WebApp.csproj
已将项目“zmblog.WebApp\zmblog.WebApp.csproj”添加到解决方案中。 D:\dotnetcode\zmblog>

项目结构创建完成,如图

使用VsCode打开项目

File->Open Folder,选择项目根目录文件夹,点击选择文件夹

展开zmblog.WebApp,打开Program.cs(或者其他的文件)

点击后稍等一会,在输出窗口会看到正在下载OmniSharp 包,等待下载完成......

貌似国内的下载速度比较慢,如果遇到下载包失败,可重新打开,会再次下载。

下载完 OmniSharp 后会下载.NET Core Debugger...

添加项目间引用关系

在zmblog.WebApp 中引用 zmblog.Common 、zmblog.Models,操作步骤如下

1.打开zmblog.WebApp.csproj文件

到这里,项目结构创建完成,项目间引用关系完成

开始代码工作

在zmblog.Models 中,创建UserInfo类

public class UserInfo
{
    public int Id {get;set;}
    public string UserName {get;set;}
    public int Age{get;set;}
    public string Password {get;set;}
    public override string ToString()
    {
        return string.Format("我是{0},今年{1}岁!",this.UserName,this.Age);
    }
}

在zmblog.WebApp中,创建文件夹及文件,结构如下:

zmblog.WebApp

Controllers

HomeController.cs

Views

Home

Index.cshtml

HomeController 内容:

public class HomeController:Controller
{
    public IActionResult Index()
    {    
        UserInfo u = new UserInfo();
        u.Age = 12;
        u.UserName = "fang jian feng";
        return View(u);
    }
}

Index.cshtml 内容:

@model zmblog.Models.UserInfo

@Model.ToString()

StartUp.cs  Configure方法中,增加代码

app.UseMvc(routes =>
{
    routes.MapRoute(
    name: "default",
    template: "{controller=Home}/{action=Index}/{id?}");
});

运行调试项目

点击Debug图标,切换到调试界面,点击绿色的三角形,启动调试,在弹出的浏览器中输入地址  /Home/Index

使用VsCode创建.Net Core 环境,使用VsCode创建.Net Core项目,并添加项目间引用关系,启动调试.Net Core项目,整个过程记录完成

原文地址(个人博客):http://www.gitblogs.com/Blogs/Details?id=1fe78f56-62c1-4e00-9ba9-b02d03f4d98b

使用VSCode创建.NET Core 项目,添加类库间引用的更多相关文章

  1. vscode 创建.net core项目初体验

    微软的virtual studio编辑器那是宇宙第一大编辑器,可惜就是太笨重,遇到性能差一些的电脑设备,简直无法快速的编辑项目. 而vs code编辑器轻便易用,想要编辑哪种项目,只需扩展插件就OK, ...

  2. VisualStudioCode中用dotnet命令创建多个ASP.NET Core 项目、类库、控制台程序,并添加应用间的引用

    一.准备工作 首先安装VisualStudioCode并且可以使用. 1.首先新创建空的MyApps文件夹,作为项目主目录,下面将在这个文件夹中创建多个web应用程序.类型.控制台程序等. 2.打开V ...

  3. 如果没有Visual Studio 2015,我们如何创建.NET Core项目 ?

    对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Windows的围栏,正式拥抱其他平台 ...

  4. 创建.NET Core项目

    创建.NET Core项目 ? 对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Win ...

  5. ASP.NET Core:创建一个Core项目

    ylbtech-ASP.NET Core:创建一个Core项目 1.返回顶部 1. 2. 3. 4.         5. 2.返回顶部 1.新建Razor页面 2. 3. 4.Abc 4.1.Abc ...

  6. 记录一次创建.net core 项目 并且发布到docekr【完全新手入门】

    1]环境说明 操作系统:Window 10 专业版 开发工具 Vs2019专业版 Docker:  Docker for Windows  2]创建.net core项目并且发布 2.0先打开并且运行 ...

  7. 使用 VSCode 编写 .NET Core 项目之初体验

    注:本文在根据 微软官方文档指导下,根据自己的学习中整理,并不完全照搬文档,但也大体和文档学习路线相似,主要为记录学习过程. 官方学习地址: https://code.visualstudio.com ...

  8. 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理

    这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 ...

  9. 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目

    这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...

随机推荐

  1. css命名管理混乱?不妨试试BEM

    css的缺陷 我们知道,css使用中一个比较令人烦恼的问题,就是css没有作用域可言,我们写了一个组件或者模块之后,往往希望它们可以四处复用,但是由于css没有作用域,我们给样式命名的时候都会非常小心 ...

  2. Pushlets 配置参数详解

      基于 Pushlets 的消息推送设计 Pushlets 是通过长连接方式实现“推”消息的.推送模式分为:Poll(轮询).Pull(拉).本文围绕 Pull 模式进行设计. 原理 客户端发起请求 ...

  3. oracle11g的安装

    1. 解压缩已经下载好的文件,两个文件一起解压,如图所示 2. 到解压路径当中找到setup.exe文件 3.安装的第一步,配置安全更新,如果不希望接收安全更新邮件可以选择将下方的复选框勾选去除 4. ...

  4. 【大数据】Sqoop学习笔记

    第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MyS ...

  5. bzoj1018/luogu4246 堵塞的交通 (线段树)

    对于一个区间四个角的点,可以用线段树记下来它们两两的联通情况 区间[l,r]通过两个子区间[l,m],[m+1,r]来更新,相当于合并[l,m],[m+1,r],用(m,m+1)这条边来合并 查询a, ...

  6. web入门之十 JS高级编程基础

    学习内容 JavaScript函数 JavaScript类和对象 解析JSON数据 能力目标 深入了解JavaScript函数 熟悉JavaScript面向对象编程 熟练进行JSON数据解析 本章简介 ...

  7. SP422 TRANSP2 - Transposing is Even More Fun——置换群+反演

    挺神仙的置换题 SP422 TRANSP2 - Transposing is Even More Fun 这个博客除了开始举例子别的都是对的: https://blog.csdn.net/Braket ...

  8. Python奇思妙想(胡思乱想)

    1.一道简单习题引发的思考深坑(通过globals及字典推导式获取类实例化了哪些对象) 初衷就是为了打印如下的信息: 小明,10岁,男,最爱大保健小明,10岁,男,开车去东北小明,10岁,男,最爱大保 ...

  9. StringEscapeUtils的常用使用,防止SQL注入及XSS注入

    StringEscapeUtils的常用使用,防止SQL注入及XSS注入 2017年10月20日 11:29:44 小狮王 阅读数:8974   版权声明:本文为博主原创文章,转载请注明出处. htt ...

  10. np.random.choice方法

    np.random.choice方法 觉得有用的话,欢迎一起讨论相互学习~Follow Me def choice(a, size=None, replace=True, p=None) 表示从a中随 ...