前言

本篇文章主要还是介绍使用 VS Code 进行.Net Core开发和常用 CLI命令的使用,至于为啥要用VS Code ,因为它是真的是好看又好用 :) ,哈哈,主要还是为了跨平台开发做准备。

开发环境

  • window 10
  • 安装 .NET Core 和 VS Code
  • C# for Visual Studio Code (powered by OmniSharp)
  • vscode-nuget-package-manager

常用命令

  • dotnet new 新建项目(解决方案,类库,单元测试等)
  • dotnet build 生成编译当前项目
  • dotnet run 运行当前项目
  • dotnet sln add 将新建项目添加到解决方案
  • dotnet add reference 为项目添加引用
  • dotnet test 执行测试

详细说明可参考微软官方说明:CLI命令

具体操作如下:

  1. 首先我们创建一个名称为 XunitDemo 的文件夹并使用VSCode打开。

  2. 创建解决方案文件,打开 “集成终端” ,默认路径即当前文件的目录,输入 dotnet new sln 并回车,如下图所示生成了一个和文件夹同名的sln文件

  3. 新建一个类库项目,在当前集成终端中,输入 dotnet new classlib -o Demo.Main,-o 指定输出的路径,如下图所示,会创建一个Demo.Main的文件夹和一个.csproj文件

  4. 接下来我们创建一个service.cs类文件,并包含一个简单的方法方便测试,如下图所示:



    cd Demo.Main 切换到Demo.Main项目路径下,执行 dotnet build 单独build新建的Demo.Main类库,



    而生成的路径则是在 “Demo.Main\bin\Debug\netstandard2.0” 中,因为默认目标框架使用的是.net standard2.0,如果是.nerframework则会生成不同的文件夹。

    当然,我们也可以把多个项目添加到XunitDemo解决方案下,最后build解决方案即可。

  5. 创建单元测试项目,如下图所示,集成终端中输入: dotnet new test -o Demo.Test



    cd .. 是返回上级目录,因为上面我们将路径切换到了Demo.Main文件夹下了。

  6. 添加项目到解决方案中dotnet sln add Demo.Test\Demo.Test.csproj Demo.Main\Demo.Main.csproj

    添加项目引用关系,dotnet add Demo.Test\Demo.Test.csproj reference Demo.Main\Demo.Main.csproj

7.编写简单的测试方法并执行测试,dotnet test,具体如下:

结语

本文简单的介绍了使用VS Code进行.net core开发并使用单元测试的简单流程,纯手工打造。一方面找找写文章的感觉,年后第一篇文章,计划每月至少写三篇博客;

另一方便,为后续的.net core文章做一个铺垫。

轻松掌握VS Code开发.Net Core及创建Xunit单元测试的更多相关文章

  1. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...

  2. 部署到Linux使用VS Code 开发.NET Core 应用程序

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NE ...

  3. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  4. 使用Visual Studio Code开发.NET Core看这篇就够了

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...

  5. 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一

    好吧,现在我们假设你已经安装好了VS Code开发工具..Net Core 2.0预览版的SDK dotnet-sdk-2.0.0(注意自己的操作系统),并且已经为VS Code安装好了C#扩展(在V ...

  6. vs code开发.net core项目入门

    今天用vs code来开发net core项目,写一下简要的开发流程,主要步骤如下,看完后你会发现特别简单 1.命令如下: (cmd中运行以下命令,下面命令都基于选择好自己的项目路径) 1.新建文件夹 ...

  7. 如何使用 VS Code开发.NET Core应用程序

    Visual Studio Code(VS Code)是Microsoft为Windows,Linux和Mac操作系统开发的免费,跨平台,轻量级的源代码编辑器,它是源代码编辑器,而Visual Stu ...

  8. mac os 下 vs code 开发 .net core

    1.软件下载 .net core 2.0 sdk: vs code 最新版: 2.用 dotnet 命令行 dotnet cli 创建项目 打开终端,创建这次项目的文件夹,mkdir Demo1: c ...

  9. 使用VS Code 开发.NET CORE 程序指南

    1. 前言 近两年来,很多前端的同学都开始将 VSCode 作为前端主力开发工具,其丰富的扩展给程序开发尤其是前端开发带来了很多便利,但是作为微软主力语言的 .NET,却由于有宇宙第一编辑器 Visu ...

随机推荐

  1. 捕获arm非托管磁盘虚拟机,并进行还原

    背景:非托管磁盘虚拟机"hlmcen69n1",附加了一块100GB的数据磁盘.由于arm非托管磁盘机器无法通过Portal界面直接"Capture",故只能通 ...

  2. Django_实现分页

    需求: 对于有很多数据,并不希望一次性全部展现在一个页面,需要一个分页的,定好每一页显示的内容 那,如何满足这个需求呢? 通过第三方模块  django-pure-pagination pip ins ...

  3. CSS——选择器2

    1.子选择器 (1).用于指定标签元素的第一代子元素,使用">"号. (2).例子: <style type="text/css"> .foo ...

  4. 怎么使用IDEA

    war 和 war exploded war部署首先通过IDEA生成.war工程文件,然后将WEB工程以包的形式上传到服务器,因此会替代服务器本来同名的web app项目. war exploded模 ...

  5. 网页转图片--- html2canvas截图

    最近有个做在线名片(可保存图片至本地)的任务,特意研究了一下图片生成,也踩了几个坑.特此总结一下,顺便分享一下demo: 链接:https://pan.baidu.com/s/1o98UBJO 密码: ...

  6. 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端

    接上文 多线程编程学习笔记——使用异步IO 二.   编写一个异步的HTTP服务器和客户端 本节展示了如何编写一个简单的异步HTTP服务器. 1.程序代码如下. using System; using ...

  7. c#控制WPF程序自动登录(Automation方式实现)

    说明:winForm窗体,可以通过win32接口dll的findWindow之类的函数来实现查找winform窗口,mfc窗口等. 但是wpf却是不实用这些,可以靠automation方式来进行操作. ...

  8. iOS-属性字符串添加下划线、删除线

    常用到的属性字符串 ///定义属性字符串NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithStrin ...

  9. 给你的jQuery项目赋予Router技能吧

    现在你不会React/Vue都不好意思说自己是前端,不过我相信很多前端项目还是基于jquery类库的传统模式的,假如你有追求的态度使用过requireJs这个库,你一定思考过一个问题,或者说一种组件化 ...

  10. 修改XCode默认工程为使用Xib

    概述 自从XCode5开始,当创建一个带有View的iPhone项目时,默认采用了StoryBoards,本文主要是讲解如何手动修改使其切换到使用xib来布局. 修改步骤 1.先将Main.story ...