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
相关推荐
程序猿麦小七3 分钟前
基于springboot的景区网页设计与实现
java·spring boot·后端·旅游·景区
蓝田~11 分钟前
SpringBoot-自定义注解,拦截器
java·spring boot·后端
M_emory_12 分钟前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
theLuckyLong12 分钟前
SpringBoot后端解决跨域问题
spring boot·后端·python
.生产的驴13 分钟前
SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
java·spring boot·后端·spring·spring cloud·gateway·rabbitmq
Ciito15 分钟前
vue项目使用eslint+prettier管理项目格式化
前端·javascript·vue.js
小扳17 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
v'sir27 分钟前
POI word转pdf乱码问题处理
java·spring boot·后端·pdf·word
李少兄31 分钟前
解决Spring Boot整合Redis时的连接问题
spring boot·redis·后端
成都被卷死的程序员1 小时前
响应式网页设计--html
前端·html