首页 > 其他分享 >vs code 开发VS Net6

vs code 开发VS Net6

时间:2022-11-24 21:46:08浏览次数:38  
标签:WebApi code cn ## vs tjhis dotnet Net6 NET

dotnet开发

1、测试是否安装了sdk

# 查看dotnet版本
$ dotnet --version
6.0.401

# 可以用vs code打开当前文件夹
$ code .

# 查看所有的sdk
$ dotnet --list-sdks
6.0.401 [C:\Program Files\dotnet\sdk]

2、安装c# vs code 插件

  • 打开插件后,搜索c#
    • C#(必装)
    • C# Extensions(必装) :增加一些快速创建类、接口、枚举等菜单
    • Visual Studio IntelliCode(必装) :来观察和查找众多开源GitHub项目中使用的模式,并在编码时提供建议
    • NuGet Package Manager(不建议安装)
    • csharpwebapi(选装)
    • Dotnet Core Essentials(选装)
    • ASP.NET Core Snippets(选装)

3、创建项目

  • 查看帮助

    $ dotnet -h
    使用情况: dotnet [runtime-options] [path-to-application] [arguments]
    
    执行 .NET 应用程序。
    
    runtime-options:
      --additionalprobingpath <path>   要探测的包含探测策略和程序集的路径。
      --additional-deps <path>         指向其他 deps.json 文件的路径。
      --depsfile                       指向 <application>.deps.json 文件的路径。
      --fx-version <version>           要用于运行应用程序的安装版共享框架的版本。
      --roll-forward <setting>         前滚至框架版本(LatestPatch, Minor, LatestMinor, Major, LatestMajor, Disable)。
      --runtimeconfig                  指向 <application>.runtimeconfig.json 文件的路径。
    
    path-to-application:
      要执行的应用程序 .dll 文件的路径。
    
    使用情况: dotnet [sdk-options] [command] [command-options] [arguments]
    
    执行 .NET SDK 命令。
    
    sdk-options:
      -d|--diagnostics  启用诊断输出。
      -h|--help         显示命令行帮助。
      --info            显示 .NET 信息。
      --list-runtimes   显示安装的运行时。
      --list-sdks       显示安装的 SDK。
      --version         显示使用中的 .NET SDK 版本。
    
    SDK 命令:
      add               将包或引用添加到 .NET 项目。
      build             生成 .NET 项目。
      build-server      与由生成版本启动的服务器进行交互。
      clean             清理 .NET 项目的生成输出。
      format            将样式首选项应用到项目或解决方案。
      help              显示命令行帮助。
      list              列出 .NET 项目的项目引用。
      msbuild           运行 Microsoft 生成引擎(MSBuild)命令。
      new               创建新的 .NET 项目或文件。
      nuget             提供其他 NuGet 命令。
      pack              创建 NuGet 包。
      publish           发布 .NET 项目进行部署。
      remove            从 .NET 项目中删除包或引用。
      restore           还原 .NET 项目中指定的依赖项。
      run               生成并运行 .NET 项目输出。
      sdk               管理 .NET SDK 安装。
      sln               修改 Visual Studio 解决方案文件。
      store             在运行时包存储中存储指定的程序集。
      test              使用 .NET 项目中指定的测试运行程序运行单元测试。
      tool              安装或管理扩展 .NET 体验的工具。
      vstest            运行 Microsoft 测试引擎(VSTest)命令。
      workload          管理可选工作负荷。
    
    捆绑工具中的其他命令:
      dev-certs         创建和管理开发证书。
      fsi               启动 F# 交互/执行 F# 脚本。
      sql-cache         SQL Server cache command-line tools.
      user-secrets      管理开发用户密码。
      watch             启动文件观察程序,它会在文件发生更改时运行命令。
    
    运行 "dotnet [command] --help",获取有关命令的详细信息。
    
  • 创建项目的步骤

## 创建文件夹
$ mkdir HisApi

## 进入文件夹
$ cd HisApi

## 创建解决方案  dotnet new sln -o blog   这个命令是创建个文件夹的解决方案 其中 -o 表示输出文件夹
## --name可以用 -n代替    
$ dotnet new sln --name HisApi
已成功创建模板“解决方案文件”。

## 创建webapi项目  其中 -o 表示输出文件夹
## dotnet new console -n myPro.App 创建一个控制台项目
$ dotnet new webapi -o cn.tjhis.WebApi --no-https
已成功创建模板“ASP.NET Core Web API”。

正在处理创建后操作...
在 D:\vscode\HisApi\cn.tjhis.WebApi\cn.tjhis.WebApi.csproj 上运行 “dotnet restore”...
  正在确定要还原的项目…

  已还原 D:\vscode\HisApi\cn.tjhis.WebApi\cn.tjhis.WebApi.csproj (用时 35.54 sec)。
已成功还原。

## 将api项目添加到解决方案中
$ dotnet sln add ./cn.tjhis.WebApi/cn.tjhis.WebApi.csproj
已将项目“cn.tjhis.WebApi\cn.tjhis.WebApi.csproj”添加到解决方案中。

## 编译和运行,也可以直接F5运行
$ dotnet run --project ./cn.tjhis.WebApi/cn.tjhis.WebApi.csproj
正在生成...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5150
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: D:\vscode\HisApi\cn.tjhis.WebApi\

## 创建类库
$ dotnet new classlib -o cn.tjhis.Common
已成功创建模板“类库”。

## 将类库添加到解决方案中
$ dotnet sln add ./cn.tjhis.Common/cn.tjhis.Common.csproj
已将项目“cn.tjhis.Common\cn.tjhis.Common.csproj”添加到解决方案中。

## WebApi添加引用Common  如果是引用项目,则使用关键字reference;如果是引用包,则使用package
$ dotnet add ./cn.tjhis.WebApi/cn.tjhis.WebApi.csproj reference ./cn.tjhis.Common/cn.tjhis.Common.csproj
已将引用“..\cn.tjhis.Common\cn.tjhis.Common.csproj”添加到项目。

## 编译
$ dotnet build
MSBuild version 17.3.1+2badb37d1 for .NET
  正在确定要还原的项目…
  所有项目均是最新的,无法还原。
  cn.tjhis.Common -> D:\vscode\HisApi\cn.tjhis.Common\bin\Debug\net6.0\cn.tjhis.Common.dll
  cn.tjhis.WebApi -> D:\vscode\HisApi\cn.tjhis.WebApi\bin\Debug\net6.0\cn.tjhis.WebApi.dll

已成功生成。
    0 个警告
    0 个错误

已用时间 00:00:01.31

## 发布
$ dotnet publish
MSBuild version 17.3.1+2badb37d1 for .NET
  正在确定要还原的项目…
  所有项目均是最新的,无法还原。
  cn.tjhis.Common -> D:\vscode\HisApi\cn.tjhis.Common\bin\Debug\net6.0\cn.tjhis.Common.dll
  cn.tjhis.Common -> D:\vscode\HisApi\cn.tjhis.Common\bin\Debug\net6.0\publish\
  cn.tjhis.WebApi -> D:\vscode\HisApi\cn.tjhis.WebApi\bin\Debug\net6.0\cn.tjhis.WebApi.dll
  cn.tjhis.WebApi -> D:\vscode\HisApi\cn.tjhis.WebApi\bin\Debug\net6.0\publish\

## 安装工具httprepl
$ dotnet tool install -g Microsoft.dotnet-httprepl
可使用以下命令调用工具: httprepl
已成功安装工具“microsoft.dotnet-httprepl”(版本“6.0.0”)。

## 查看是否安装充公
$ httprepl -v
Welcome to HttpRepl 6.0!

## 另开一个终端,不能使用git bash,使用cmd
$ httprepl http://localhost:5150
(Disconnected)> connect http://localhost:5150
Using a base address of http://localhost:5150/
Using OpenAPI description at http://localhost:5150/swagger/v1/swagger.json
For detailed tool info, see https://aka.ms/http-repl-doc

http://localhost:5150/> ls
.                 []
WeatherForecast   [GET]

http://localhost:5150/> cd WeatherForecast
/WeatherForecast    [GET]

http://localhost:5150/WeatherForecast> get
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Thu, 24 Nov 2022 12:51:34 GMT
Server: Kestrel
Transfer-Encoding: chunked

[
  {
    "date": 2022-11-25 20:51:35,
    "temperatureC": 47,
    "temperatureF": 116,
    "summary": "Scorching"
  },
  {
    "date": 2022-11-26 20:51:35,
    "temperatureC": 20,
    "temperatureF": 67,
    "summary": "Freezing"
  },
  {
    "date": 2022-11-27 20:51:35,
    "temperatureC": 0,
    "temperatureF": 32,
    "summary": "Sweltering"
  },
  {
    "date": 2022-11-28 20:51:35,
    "temperatureC": 31,
    "temperatureF": 87,
    "summary": "Mild"
  },
  {
    "date": 2022-11-29 20:51:35,
    "temperatureC": 43,
    "temperatureF": 109,
    "summary": "Scorching"
  }
]

## 列出当前项目的引用名称、包名称
dotnet list reference
dotnet list package
## 移除当前项目的引用名称、包名称
dotnet remove reference
dotnet remove package
## 向当前项目添加引用、包
dotnet add reference
dotnet add package

## 需要进入对应的项目目录内才可以引用
Administrator@wanghx MINGW64 /d/vscode/HisApi/cn.tjhis.Common
$ dotnet add package SqlSugarCore

标签:WebApi,code,cn,##,vs,tjhis,dotnet,Net6,NET
From: https://www.cnblogs.com/his365/p/16923541.html

相关文章

  • Codeforces Round #615 (Div. 3) E
    E.ObtainaPermutation我们显然可以按列来看对于每一列我们发现我们求的就是一个模式串与模板串的最大匹配+位移贡献因为模板串肯定是不同元素我们直接对于模式串......
  • Codeforces Round #613 (Div. 2) D
    D.Dr.EvilUnderscores看完题发现是异或不难按位考虑观察样例发现好像要是只要是一个分支的时候就可以为消除这一位的影响我们直接建出字典树发现要是该位只有一个......
  • Codeforces Round #829 (Div. 2)
    A.TechnicalSupport#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pll;constllN=2e5+10;constllinf=1e18;constl......
  • 前后端分离中,在vue中如何截取微信回调地址上的code参数?
    作者:迷彩摘要在前后端分离开发中,微信公众号、企业微信、小程序、开发中,经常会有授权登录的场景,但是授权登录场景肯定会有一个问题,就是接收微信的回调,同时前端要拿到回调地......
  • vscode调试ant design pro
    AntDesign和AntDesignPro有什么区别?可以理解为AntDesign是一套React组件库,而Pro是使用了这套组件库的完整前端脚手架。而且pro还集成了AntDesignProCompon......
  • leetcode1552
    两球之间的磁力Category Difficulty Likes Dislikesalgorithms Medium(51.48%) 122 -TagsUnknownCompaniesUnknown在代号为C-137的地球上,Rick发现如果他将两个......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:Nim 游戏
    题目:你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头。你们轮流进行自己的回合, 你作为先手 。每一回合,轮到的人拿掉 1-3块石头。拿掉最后一块石头的人就是获胜者......
  • nginx使用wss协议出现wss handshake: Unexpected response code: 400
    在nginx中配置好https协议之后,我以为可以使用反向代理在tomcat容器中的页面js调用websocket用wss了,但是没想到居然报了个错:handshake:Unexpectedresponsecode:400查了一......
  • Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码
      1.下载npminstallqrcode--save-dev2.引入(在所需要的页面中引入)importQRCodefrom“qrcode”;//引入生成二维码插件3.生成二维码<canvasid="QRCode_head......
  • Codeforces Round #418 (Div. 2) D. An overnight dance in discotheque 题解
    圆由于没有相交,之间的关系要么毫无关系,要么就是包含,所以能形成树。直接包含的就是父节点。如果只有一组,不分前半夜后半夜的话,那么舒适度就是每棵树的根节点(深度为0)面积......