C# 开发环境搭建(Avalonia UI、Blazor Web UI、Web API 应用示例)

文章目录

  • [C# 文档](# 文档)
  • [.NET SDK 下载](#.NET SDK 下载)
  • [安装 .NET SDK](#安装 .NET SDK)
  • 安装完验证
  • [VS Code 配置](#VS Code 配置)
  • [WPF UI 框架](#WPF UI 框架)
  • [Avalonia UI 框架](#Avalonia UI 框架)
    • [创建 Avalonia 项目](#创建 Avalonia 项目)
    • [Avalonia 官方示例](#Avalonia 官方示例)
    • [Avalonia 桌面 UI 库](#Avalonia 桌面 UI 库)
  • [Blazor Web UI 框架](#Blazor Web UI 框架)
  • [ASP.NET Core 控制器创建 Web API](#ASP.NET Core 控制器创建 Web API)
  • [dotnet 命令](#dotnet 命令)
    • [dotnet new](#dotnet new)
    • [dotnet build](#dotnet build)
    • [dotnet run](#dotnet run)
    • [dotnet tool](#dotnet tool)

C# 文档

.NET SDK 下载

安装 .NET SDK

安装完验证

bash 复制代码
dotnet -h
# .NET SDK 版本
dotnet --version
# .NET SDK 的列表
dotnet --list-sdks
# .NET 运行时的列表
dotnet --list-runtimes
# .NET 安装和计算机环境详细信息
dotnet --info
  • 安装时正常会自动添加 PATH
bash 复制代码
# /usr/local/share/dotnet:~/.dotnet/tools
echo $PATH

VS Code 配置

C# 开发插件

C#
C# Dev Kit
Avalonia for VSCode

settings.json

  • 配置 Code Runner
json 复制代码
{
	"code-runner.executorMap": {
		"csharp": "cd $dir && dotnet run $fileName"
	}
}
  • 创建一个 控制台应用
bash 复制代码
# 安装模板包
dotnet new install Microsoft.NET.Runtime.WebAssembly.Templates
# 根据 console 模板创建项目
dotnet new console -o ./demo -n demo
# 根据 console 模板创建项目,未指定名称则使用输出目录的名
dotnet new console -o ./demo
  • 运行 demo 项目
  • 或者终端执行命令
bash 复制代码
dotnet run

WPF UI 框架

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架。

注: 本人是 Mac 电脑无法演示。

Avalonia UI 框架

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。

创建 Avalonia 项目

bash 复制代码
# 安装 Avalonia 模板
dotnet new install Avalonia.Templates
# 列出已安装的模板
dotnet new list
bash 复制代码
# 创建 Avalonia 项目
dotnet new avalonia.app -o demo
cd demo
# 运行项目
dotnet run

Avalonia 官方示例

bash 复制代码
git clone https://github.com/AvaloniaUI/Avalonia.Samples.git
cd Avalonia.Samples
cd ./src/Avalonia.Samples/CompleteApps/SimpleToDoList
  • SimpleToDoList.csproj 修改为当前环境 .NET SDK 版本
xml 复制代码
<TargetFramework>net8.0</TargetFramework>
  • 运行项目
bash 复制代码
dotnet run

Avalonia 桌面 UI 库

bash 复制代码
git clone https://github.com/kikipoulet/SukiUI.git
cd SukiUI/SukiUI.Demo
dotnet run

Blazor Web UI 框架

注: Blazor允许Web开发人员使用C#代替JavaScript创建Web应用程序。他们还可以重用.NET Silverlight代码。另外,Blazor应用程序由使用C#,HTML和CSS实现的可重复使用的Web UI组件组成。由于客户端和服务器代码都是用C#编写的,因此开发人员可以共享代码和库。

创建应用

bash 复制代码
dotnet new blazor -o BlazorApp

项目结构

  • Program.cs 是启动服务器以及在其中配置应用服务和中间件的应用的入口点。
  • 在 Components 目录中:
    • App.razor 为应用的根组件。
    • Routes.razor 配置 Blazor 路由器。
    • Pages 目录包含应用的一些示例网页。
  • BlazorApp.csproj 定义应用项目及其依赖项。
  • Properties 目录中的 launchSettings.json 文件为本地开发环境定义不同的配置文件设置。创建项目时会自动分配端口号并将其保存在此文件上。
  • 运行应用
bash 复制代码
dotnet run

ASP.NET Core 控制器创建 Web API

bash 复制代码
dotnet --list-sdks
dotnet new webapi -controllers -f net8.0 -o demo
  • 项目结构
名称 描述
Controllers/ 包含公共方法公开为 HTTP 终结点的类。
Program.cs 配置服务和应用的 HTTP 请求管道,包含应用的托管入口点。
ContosoPizza.csproj 包含项目的配置元数据。
ContosoPizza.http 包含直接从 Visual Studio Code 测试 REST API 的配置。
  • 运行应用
bash 复制代码
dotnet run

dotnet 命令

dotnet new

bash 复制代码
dotnet new -h
  • 列出要使用 dotnet new 运行的可用模板
bash 复制代码
dotnet new list
  • NuGet.org 上搜索 dotnet new 支持的模板
bash 复制代码
dotnet new search console
  • 安装模板包
bash 复制代码
dotnet new install Microsoft.NET.Runtime.WebAssembly.Templates
  • 卸载模板包
bash 复制代码
# 列出已安装的模板及其详细信息
dotnet new --uninstall
# 卸载 WebAssembly 模板包
dotnet new uninstall Microsoft.NET.Runtime.WebAssembly.Templates
  • 更新已安装的模板包
bash 复制代码
dotnet new update -h
# 检查已安装模板包更新
dotnet new update --check-only
# 更新已安装模板包
dotnet new update

dotnet build

  • 生成项目及其所有依赖项
bash 复制代码
dotnet build -h

dotnet run

  • 无需任何显式编译或启动命令即可运行源代码
bash 复制代码
dotnet run -h
dotnet run --no-build

dotnet tool

bash 复制代码
dotnet tool -h
# 列出全局或本地安装的工具
dotnet tool list
相关推荐
菜根Sec20 分钟前
XSS跨站脚本攻击漏洞练习
前端·xss
0zxm26 分钟前
06 - Django 视图view
网络·后端·python·django
m0_7482571827 分钟前
Spring Boot FileUpLoad and Interceptor(文件上传和拦截器,Web入门知识)
前端·spring boot·后端
桃园码工44 分钟前
15_HTML5 表单属性 --[HTML5 API 学习之旅]
前端·html5·表单属性
小_太_阳1 小时前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
百万蹄蹄向前冲1 小时前
2024不一样的VUE3期末考查
前端·javascript·程序员
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
智慧老师2 小时前
Spring基础分析13-Spring Security框架
java·后端·spring
轻口味2 小时前
【每日学点鸿蒙知识】AVCodec、SmartPerf工具、web组件加载、监听键盘的显示隐藏、Asset Store Kit
前端·华为·harmonyos
alikami2 小时前
【若依】用 post 请求传 json 格式的数据下载文件
前端·javascript·json