注:网络上搜索到的关于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. 51nod 1673 树有几多愁(链表维护树形DP+状压DP)

    题意 lyk有一棵树,它想给这棵树重标号. 重标号后,这棵树的所有叶子节点的值为它到根的路径上的编号最小的点的编号. 这棵树的烦恼值为所有叶子节点的值的乘积. lyk想让这棵树的烦恼值最大,你只需输出 ...

  2. Java之Map的使用场景

    总结之 Map接口 的使用场景(day04) Map: Map中的集合,元素是成对存在的(理解为夫妻).每个元素由键与值两部分组成,通过键可以找对所对应的值 Map中的集合不能包含重复的键,值可以重复 ...

  3. MT【168】还是两根法

    设二次函数$f(x)=ax^2+bx+c(a>0)$,方程$f(x)=x$的两根$x_1,x_2$满足$0<x_1<x_2<\dfrac{1}{a}$,(Ⅰ)当$x\in(0, ...

  4. MT【100】经典计数之分配问题

    注意:此讲适合联赛一试学生,以及参加清华北大等名校的自主招生的学生. 经典计数之分配问题:把n个球放进k个盒子.考虑分配方法有三类:1.无限制 2.每个盒子至多一个(f 单的)3.每个盒子至少一个(f ...

  5. 【刷题】LOJ 6009 「网络流 24 题」软件补丁

    题目描述 某公司发现其研制的一个软件中有 \(n\) 个错误,随即为该软件发放了一批共 \(m\) 个补丁程序.每一个补丁程序都有其特定的适用环境,某个补丁只有在软件中包含某些错误而同时又不包含另一些 ...

  6. NO.6: 为多态基类声明virtual析构函数

    注意:polymorphic base class 应该具有虚析构函数,如果class带有任何virtual函数,也应具有虚析构函数 class不具备polymorphic属性则不应该声明virtua ...

  7. Random Projection在k-means的应用

    1. 随机投影 (Random Projection) 首先,这是一种降维方法.之前已经介绍过相对普遍的PCA的降维方法,这里介绍另一种降维方法Random Project.相比于PCA,他的优势可以 ...

  8. CCNA学习与实验指南——第3章 以太网

    以太网就是局域网,IEEE制定了802.2和802.3两种标准.802.2规定了OSI模型的数据链路层的上半部分(LLC子层),802.3规定了OSI模型的数据链路层的下半部分和物理层(MAC子层). ...

  9. 支付宝APP支付,提示代码 ALIN10070

    ALIN10070 此代码时ALI64代码拆分后的细分代码: 代表签名验证失败等相关问题: 如果近期修改过或者续签 过签约协议,也需要更新公私钥.

  10. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...