首页 > 编程语言 >VS Code安装C#开发工具包并编写ASP.NET Core Web应用

VS Code安装C#开发工具包并编写ASP.NET Core Web应用

时间:2024-10-11 15:49:37浏览次数:10  
标签:Core Code Web C# 工具包 VS 开发 NET

前言

    前段时间微软发布了适用于VS Code的C#开发工具包(注意目前该包还属于预发布状态但是可以正常使用),因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一直没有尝试使用VS Code来编写.NET Core。不过听说C# 开发工具包提供了一系列功能和扩展,从而极大的提高了VS Code中编写、调试和管理 C# 代码的体验。看到这个今天就不得不上手实战一下看看到底有没有官网描述的这么好用。

VS Code C#开发工具包介绍

微软官方描述:C#开发工具包旨在提高在VS Code中使用时的 C# 工作效率。它与 C# 扩展协同工作,该扩展已更新为由新的完全开源的语言服务器协议 (LSP) 主机提供支持,打造了一个高性能、可扩展且灵活的工具环境,可以轻松地将新体验整合到适用于 VS Code 的 C# 中。

C# 开发工具包从 Visual Studio 中借用了一些熟悉的概念,为 VS Code 引入了更高效、更可靠的 C# 体验。无论你是快速编辑 C# 文件、学习 C#,还是调试后端 API,此方法都可以确保获得出色的体验。C# 开发工具包由一组 VS Code 扩展组成,它们共同提供丰富的 C# 编辑体验、AI 驱动的开发、解决方案管理和集成测试。如下图所示,C# 开发工具包包括:

  • C# 扩展,它提供基本语言服务支持,并继续保持独立于这项工作。
  • C# 开发工具包扩展,它在 Visual Studio 的基础上生成,提供解决方案管理、模板和测试发现/调试。
  • 适用于 C# 开发工具包的 IntelliCode 扩展(可选),它将 AI 驱动的开发引入了编辑器。

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Visual

VS Code C#开发工具包安装

C# Dev Kit for Visual Studio Code

C# Dev Kit for Visual Studio Code(C# Dev Kit)是一个扩展工具,它为您的C#开发提供了一系列强大的功能和实用工具,以帮助您更高效地编写、调试和维护代码。它能够在Windows、macOS、Linux甚至Codespace等各种开发环境中使用,提升你的C#开发体验。

打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索C# Dev Kit=>点击安装

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Visual_02

C# for Visual Studio Code

C# for Visual Studio Code(C# for VS Code)是C# Dev Kit的一部分,为Visual Studio Code提供了功能丰富的C#语言支持。

打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索C#=>点击安装

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_03

本机.NET环境安装

编码之前你首先需要确保你的本机上安装了.NET SDK以确保应用能够正常的运行和构建。

.NET SDK下载:https://dotnet.microsoft.com/zh-cn/download

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_04

查询本机安装的.NET环境版本:

dotnet --version

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_05

创建一个ASP.NET Core Web应用

选择资源管理器=>Create .NET Project=>现在ASP.NET Core Web App

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_06

.NET Acquisition Failed: Installation failed: Error: .NET installation timed out.

NET 获取失败:安装失败:错误:.NET 安装超时。

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_07

微软官方解决方案:Troubleshooting Issues with .NET Install Tool for Extension Authors

Learn more about configuring Visual Studio Code settings here and see below for an example of a custom timeout in a settings.json file. In this example the custom timeout value is 180 seconds, or 3 minutes.

简单描述就是:打开VS Code设置把.NET Install超时时间设置长一点。可以先设置为180即为3分钟不够在加。

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_08

项目创建成功

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_09


VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_10

VS Code快速运行ASP.NET Core Web应用

首先要进入应用的.csproj文件目录中,在终端中运行以下命令启动应用程序:

使用以下命令进入项目根目录:cd test001
使用以下命令运行应用程序:dotnet run

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_11

点击运行Now listening on: http://localhost:5191

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_12

创建一个UserModel

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Core_13

namespace Test001.Models;

public class UserModel
{
    public string UserName { get; set; }
    public string Sex { get; set; }
    public int Age { get; set; }
    public int Number { get; set; }
}

后端用户信息赋值

public IActionResult Index()
    {
        List<UserModel> userInfoList = new List<UserModel>
        {
            new UserModel { UserName = "追逐时光者", Sex = "男", Age = 25, Number = 001 },
            new UserModel { UserName = "大姚", Sex = "男", Age = 26, Number = 002 },
            new UserModel { UserName = "小袁", Sex = "女", Age = 18, Number = 003 }
        };

        return View(userInfoList);
    }

前端输出用户信息

@model List<UserModel>
@{
    ViewData["Title"] = "Home Page";
}
<body>
    <style>
        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        table {
            border-collapse: collapse;
            width: 100%;
            max-width: 600px;
            margin-top: 20px;
        }

        th, td {
            padding: 10px;
            text-align: center;
            border-bottom: 1px solid #ddd;
        }

        th {
            background-color: #f2f2f2;
        }
    </style>
    <div>
        <table>
            <thead>
                <tr>
                    <th>UserName</th>
                    <th>Sex</th>
                    <th>Age</th>
                    <th>Number</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var userInfo in Model)
                {
                    <tr>
                        <td>@userInfo.UserName</td>
                        <td>@userInfo.Sex</td>
                        <td>@userInfo.Age</td>
                        <td>@userInfo.Number</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>
</body>

最后预览效果

VS Code安装C#开发工具包并编写ASP.NET Core Web应用_Code_14

实战感受

实战下来个人感觉C#开发工具包确实提升了VS Code中编写.NET的开发效率和体验,主要包括语法高亮、指令提示、代码补全、代码导航和调试支持等功能。

当然选择使用VS Code还是Visual Studio 2022取决于个人偏好、项目需求以及开发环境。VS Code提供了轻量级、跨平台的开发环境,搭配丰富的扩展生态系统,适合那些喜欢简洁、高度可定制的开发环境的开发人员。而Visual Studio 2022则提供了更全面的功能和集成开发环境,适用于需要可视化设计、专有功能和更强大调试等需求的开发人员。

参考文章


标签:Core,Code,Web,C#,工具包,VS,开发,NET
From: https://blog.51cto.com/ysgdaydayup/12182769

相关文章

  • Visual Studio Code调试和发布ASP.NET Core Web应用
    前言上一篇文章主要讲了VisualStudioCode安装C#开发工具包并编写ASP.NETCoreWeb应用有兴趣的同学可以去看看,今天咱们主要是要讲讲如何在VSCode中调试和发布ASP.NETCoreWeb应用。VisualStudioCode安装C#开发工具包并编写ASP.NETCoreWeb应用配置launch.json文件launch.jso......
  • AtCoder Beginner Contest 373 (A-F)
    AtCoderBeginnerContest373(A-F)比赛链接A-September#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;voidShowball(){intans=0;for(inti=1;i<=12;i++){strings;cin>>s;ans+=((int)s.si......
  • Codeforces Round 932 (Div. 2) C. Messenger in MAC
    对于选定的\(p_i\)的情况下,如何使得代价小?显然是按照\(b\)升序的方式。因此我们可以考虑按照\(b\)进行排序。考虑一种贪心的做法,我们枚举区间\([l,r]\),这样区间的必选就是\(a_l,a_r,(b_r-b_l)\),因此我们可以贪心的选择剩下\(a\)中的最小值。这样复杂度是\(O(n^3\logn)\)。考......
  • Letcode--反转链表+回文链表
     ok小伙伴们,今天给大家带来关于链表的算法题目。首先学习一下反转链表,大家先看题目: 这道题目比较简单,所以先给大家看一下代码:ListNode*reverseList(ListNode*head){if(!head){returnnullptr;}ListNode*pre=nullptr,*cur=h......
  • crit: Microsoft.AspNetCore.Server.Kestrel[0] Unable to start Kestrel. Interop+Cr
    域名证书没有放在指定的位置错误信息crit:Microsoft.AspNetCore.Server.Kestrel[0]UnabletostartKestrel.Interop+Crypto+OpenSslCryptographicException:error:2006D080:BIOroutines:BIO_new_file:nosuchfileatInterop.Crypto.CheckValidOpenSslHandle(Saf......
  • 【产品经理修炼之道】-数字人抢滩 Web 3.0
    编辑导语:品牌营销的方式逐渐走向多样化,数字技术的发展也为营销方式注入了更多活力,比如数字人、元宇宙等概念,便对ToB的营销格局产生了一定影响。那么,数字人营销当下进展到哪个阶段了?本文进行了一定解读,一起来看一下。从哪一个数字人开始,吸引了你的注意?是弹吉他的清华学生华智......
  • Leetcode 839. 相似字符串组【附并查集模板】
    1.题目基本信息1.1.题目描述如果交换字符串X中的两个不同位置的字母,使得它和字符串Y相等,那么称X和Y两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,”tars”和“rats”是相似的(交换0与2的位置);“rats”和“arts”也是相似的,但是“s......
  • Codeforces Round 975 (Div. 2)
    Codeforces975div2A.MaxPlusSize点击查看代码voidsolve(){intn;cin>>n;intimax1=0,imax2=0;for(inti=1;i<=n;i++){intx;cin>>x;if(i%2)imax1=max(imax1,x);elseimax2=max(imax2,x);}if(!n%2)cout......
  • C#/.NET/.NET Core优秀项目和框架2024年9月简报
    前言公众号每月定期推广和分享的C#/.NET/.NETCore优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码......
  • webservice接口调用报:由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action
    1、问题:<s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcodexmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode><faul......