注:网络上搜索到的关于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. 一本通1649【例 2】2^k 进制数

    1649:[例 2]2^k 进制数 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:NOIP 2006 提高组 设 r 是个 2k 进制数,并满足以 ...

  2. Python【知识点】面试小点列表生成式小坑

    1.问题 有这么一个小面试题: 看下面代码请回答输出的结果是什么?为什么? result = [lambda x: x + i for i in range(10)] print(result[0]( ...

  3. BZOJ1815 SHOI2006有色图(Polya定理)

    置换数量是阶乘级别的,但容易发现本质不同的点的置换数量仅仅是n的整数拆分个数,OEIS(或者写个dp或者暴力)一下会发现不是很大,当n=53时约在3e5左右. 于是暴力枚举点的置换,并且发现根据点的置 ...

  4. 51Nod 1384 全排列

    给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列.例如:S = "1312", 输出为:   1123 1132 1213 1231 131 ...

  5. mysql账户添加远程访问

    我们要将root账户设置为远程可访问 mysql> show databases; +--------------------+ | Database | +------------------ ...

  6. 自学Zabbix3.5.1-监控项item-key介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.5.1-监控项item-key介绍 个人觉得艰难理解,故附上原文档:https ...

  7. 【BZOJ1089】[SCOI2003]严格n元树(高精度,动态规划)

    [BZOJ1089][SCOI2003]严格n元树(高精度,动态规划) 题面 BZOJ 洛谷 题解 设\(f[i]\)表示深度为\(i\)的\(n\)元树个数.然后我们每次加入一个根节点,然后枚举它的 ...

  8. 【CF771A】Bear and Friendship Condition

    题目大意:给定一张无向图,要求如果 A 与 B 之间有边,B 与 C 之间有边,那么 A 与 C 之间也需要有边.问这张图是否满足要求. 题解:根据以上性质,即:A 与 B 有关系,B 与 C 有关系 ...

  9. django-pure-pagination 分页插件

    官网地址:https://github.com/jamespacileo/django-pure-pagination 官网上有详细的安装和使用介绍

  10. Java访问权限控制

    访问权限控制           java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.prote ...