引言
.NET Core 是 Microsoft 开源的一个跨平台框架,用于构建高性能、可扩展的应用程序。它支持 Windows、Linux 和 macOS 等多种操作系统,并且可以与多种开发语言一起使用,但最常用的是 C#。在本教程中,使用 .NET Core 创建一个简单的 Web 应用程序。
准备工作
在开始之前,请确保开发环境中已安装以下组件:
.NET SDK: 访问 .NET 官方网站 下载并安装适用于操作系统的 .NET SDK。
代码编辑器或IDE: 推荐使用 Visual Studio Code、Visual Studio 或 JetBrains Rider 等。
Git(可选): 如果打算将项目托管在 GitHub 或其他 Git 仓库上,需要安装 Git。
第一步:创建新项目
1、打开命令行工具(如 CMD、PowerShell、Terminal)。
2、运行以下命令来创建一个新的 ASP.NET Core Web 应用程序:
dotnet new web -n MyFirstWebApp
这里 -n MyFirstWebApp 指定了项目名称为 MyFirstWebApp。
3、导航到项目目录:
cd MyFirstWebApp
第二步:运行应用程序
在项目目录中,运行以下命令来启动应用程序:
dotnet run
命令执行后,.NET Core 会启动内置的 Kestrel 服务器,并在控制台中显示一个 URL(通常是 https://localhost:5001 或 http://localhost:5000),可以在浏览器中访问这个 URL 来查看 Web 应用程序。
第三步:了解项目结构
现在,让我们快速浏览一下生成的项目结构:
Properties: 包含项目的配置文件,如 launchSettings.json(用于配置开发时使用的端口和 URL 等)。
Program.cs: 程序的入口点,配置并启动 Web 服务器。
Startup.cs: 配置应用程序的请求处理管道和服务。
wwwroot: 静态文件(如 HTML、CSS、JavaScript 文件)的存放位置。
Controllers: 存放 MVC 架构中的控制器类,用于处理用户的请求。
Views 和 Models(如果选择了 MVC 模板):分别用于存放视图和模型。
第四步:添加一个简单的控制器
1、在项目中创建一个新的文件夹 Controllers(如果尚未存在)。
2、在 Controllers 文件夹中,添加一个名为 HomeController.cs 的新文件,并添加以下代码:
using Microsoft.AspNetCore.Mvc; namespace MyFirstWebApp.Controllers { public class HomeController : Controller { public IActionResult Index() { return View(); } public IActionResult About() { ViewData["Message"] = "测试页面信息。"; return View(); } } }
3、在 Views 文件夹中,创建一个与 HomeController 对应的 Home 文件夹,并在其中添加两个视图文件 Index.cshtml 和 About.cshtml。
Index.cshtml 示例:
@{ ViewData["Title"] = "Home Page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div>
About.cshtml 示例:
@{ ViewData["Title"] = "About"; } <h2>@ViewData["Title"].</h2> <h3>@ViewData["Message"]</h3> <p>Use this area to provide additional information.</p>
第五步:测试应用程序
回到浏览器,访问 http://localhost:5000/Home/Index 和 http://localhost:5000/Home/About 来查看新页面。
结语
现在,我们已经成功使用 .NET Core 创建并运行了一个简单的 Web 应用程序!这只是 .NET Core 强大功能的冰山一角。可以继续探索 MVC 架构、Entity Framework Core(用于数据库操作)、Razor Pages 等更多高级特性。