若要生成第一个 .NET 应用程序,需要安装 .NET SDK、Visual Studio Code 和 C# 开发工具包。
.NET SDK (软件开发工具包)是使用 C# 生成和运行应用程序所需的工具和库的免费开源集合。C# 是你将在本教程中使用的面向对象的新式编程语言。
Visual Studio Code (VS Code)是全球最受欢迎的轻型、免费的开源代码编辑器。你将在此处编写 C# 代码。
C# 开发工具包是一组功能强大的 VS Code 扩展,可使 C# 开发更轻松。它可帮助你在生成应用时编写、测试和调试代码。
.NET Winget 配置文件将为你安装 .NET 8 SDK、VS Code 和 C# 开发工具包。如果已安装某些内容,Winget 将跳过该安装步骤。
若要使用 Visual Studio Code 构建你的第一个 .NET 应用程序,请设置环境:
下载并安装 .NET SDK:
安装 .NET 8 SDK 说明
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
如果一切正常,请选择下面的
继续
按钮以转到下一步。
遇到错误?
如果收到
“未将 "dotnet" 识别为内部或外部命令”
错误,请确保已打开
新的
VS Code 终端。如果
重启 VS Code
或
重启计算机
没有解决问题,请使用“
我遇到了问题
”按钮以获取解决问题的帮助。
按
CTRL
+
SHIFT
+
P
,在 VS Code 中打开命令面板。
按
CMD
+
SHIFT
+
P
,在 VS Code 中打开命令面板。
键入 ".NET: " 来查看可使用 C# 开发工具包运行的命令!
查找“.NET: 新建项目”,并将其选中来创建新的 .NET 项目。
向下滚动并选择“Blazor Web 应用”
。
选择要保存项目的文件夹位置。
出现提示时,在命令面板中命名项目
BlazorApp
。按
Enter
进行确认。
在边栏中,确保
VS Code 资源管理器
已打开。此处将显示
BlazorApp
文件夹和
解决方案资源管理器
。按照以下视频进行操作: 折叠
BlazorApp
文件夹,打开
解决方案资源管理器
,打开
BlazorApp
项目,然后将
解决方案资源管理器
拖放到更高的位置。
折叠 VS Code 资源管理器中的
BlazorApp
文件夹。
单击
解决方案资源管理器
左侧的 V 形图标可将其展开。
单击
“解决方案资源管理器”中
BlazorApp
项目的左侧的 V 形图标可将其展开。
将
“解决方案资源管理器”拖放到 BlazorApp
下。
BlazorApp.csproj
定义应用项目及其依赖项,且可以通过双击解决方案资源管理器中的 BlazorApp 项目节点进行查看。
Properties
目录中的
launchSettings.json
文件为本地开发环境定义不同的配置文件设置。创建项目时会自动分配端口号并将其保存在此文件上。
如果一切正常,请选择下面的
继续
按钮以转到下一步。
选择工作区左侧的“活动栏”
中的
“运行和调试”图标。
选择蓝色的
“运行和调试”按钮。
Visual Studio Code 将打开启动配置的菜单。选择
C#: BlazorApp [默认配置]
。
然后,你需要选择调试程序。选择
C#
。
等待应用在浏览器中启动。转到以下页面后,你已成功运行第一个 Blazor 应用!
可通过单击顶部工具栏中的停止按钮随时停止应用。
若要重新运行应用程序,请选择右上角的“运行”按钮右侧的下拉菜单,然后选择“运行与此文件关联的项目”
。
显示的页面由位于
Components/Pages
目录内的
Home.razor
文件定义。其内容如下所示:
Components/Pages/Home.razor
@page "/"
<PageTitle>Home</PageTitle>
<h1>Hello, world!</h1>
Welcome to your new app.
它已包含将它设置为主页的代码,并显示文本
Hello, world!
和
Welcome to your new app
。
PageTitle
组件会设置当前页面的标题,使其显示在浏览器选项卡中。
遇到错误?
如果收到错误消息“你的连接不是专用的”,错误代码为 NET::ERR_CERT_INVALID,请尝试重新启动所有浏览器窗口,以便浏览器可以选取新证书,然后再次运行应用程序。
如果无法解决遇到的问题,请选择下面的“
我遇到了问题
”按钮,以获取解决问题的帮助。
试用计数器
在正在运行的应用中,通过单击左侧边栏中的“计数器”选项卡导航到“计数器”页。然后应显示以下页面:
选择“
单击我
”按钮,在不刷新页面的情况下递增计数。若要在网页中递增计数器,通常需要编写 JavaScript,但对于 Blazor,你可以使用 C#。
可以在
Components/Pages
目录内的
Counter.razor
文件处找到
Counter
组件的实现。
Components/Pages/Counter.razor
@page "/counter"
@rendermode InteractiveServer
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
currentCount++;
在浏览器中对于 /counter
的请求(由位于顶部的 @page
指令指定)导致 Counter
组件呈现其内容。@rendermode
指令为组件启用交互式服务器呈现,以便它可以处理来自浏览器的用户界面事件。
每次选中“单击我”按钮时:
已触发 onclick
事件。
调用 IncrementCount
方法。
currentCount
为递增。
呈现该组件以显示更新的计数。
每个 razor 文件都会定义一个可重复使用的 UI 组件。
在 Visual Studio 中打开 Home.razor
文件。Home.razor
文件已存在,并且是在创建项目时创建的。它位于之前创建的 BlazorApp
目录内的 Components/Pages
文件夹中。
在选择的文本编辑器中打开 Home.razor
文件。Home.razor
文件已经存在,它是在你运行 dotnet new
命令时创建的。它位于之前创建的 BlazorApp
目录内的 Components/Pages
文件夹中。
通过在 Home.razor
文件末尾添加 <Counter />
元素,向应用主页添加 Counter
。
Components/Pages/Home.razor
@page "/"
<PageTitle>Home</PageTitle>
<h1>Hello, world!</h1>
Welcome to your new app.
<Counter />
重新运行应用以查看更改。然后,Counter
组件将显示在主页上。
保存此更改后,dotnet watch
命令会将更改应用到正在运行的应用,以便主页上显示 Counter
组件。
使用 [Parameter]
属性为 IncrementAmount
添加公共属性。
将 IncrementCount
方法更改为在递增 currentCount
值时使用 IncrementAmount
。
下面的代码演示了怎样实现此目的。突出显示的行显示更改。
Components/Pages/Counter.razor
@page "/counter"
@rendermode InteractiveServer
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
[Parameter]
public int IncrementAmount { get; set; } = 1;
private void IncrementCount()
currentCount += IncrementAmount;
在 Home.razor
中,更新 <Counter>
元素以添加 IncrementAmount
属性,该属性会将增量更改为 10,如以下代码中突出显示的行所示:
Components/Pages/Home.razor
@page "/"
<PageTitle>Home</PageTitle>
<h1>Hello, world!</h1>
Welcome to your new app.
<Counter IncrementAmount="10" />
通过单击“热重载”按钮将更改应用到应用程序。Home
组件现在具有自己的计数器,每次选择“单击我”按钮时,该计数器会递增 10,如下图所示。/counter
处的 Counter
组件(Counter.razor
)将继续按 1 递增。
Home
组件现在具有自己的计数器,每次选择“单击我”按钮时,该计数器会递增 10,如下图所示。/counter
处的 Counter
组件(Counter.razor
)将继续按 1 递增。
恭喜你已生成并运行首个 Blazor 应用!
现在,你已掌握基础知识,请继续使用 Microsoft Learn 上的 Blazor 自助学习模块构建第一个 Blazor 应用,你将在其中生成一个待办事项列表应用。
Microsoft Learn: 生成 Blazor 待办事项列表应用