添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

若要生成第一个 .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 待办事项列表应用