Visual Studio如何创建空的ASP.NET Core Web项目
在 Visual Studio 中创建空的 ASP.NET Core Web 项目:从零开始的全流程指南
Visual Studio 是一款功能强大的集成开发环境,能够帮助开发者高效地创建各种类型的项目。对于刚刚接触 ASP.NET Core 的开发者来说,从一个“空”项目开始,可以完全掌控项目的结构和配置,避免不必要的模板代码干扰学习。本文将详细讲解如何在 Visual Studio 中创建空的 ASP.NET Core Web 项目,并逐步添加必要功能,同时提供实用的小提示和常见问题解答。
准备工作
在开始之前,请确保你的计算机上已经安装了 Visual Studio,并且安装了
ASP.NET 和 Web 开发
- 打开 。
Visual Studio 安装程序
- 在已安装的版本旁边,点击“”。
修改
- 在“工作负载”选项卡中,勾选“”。
ASP.NET 和 Web 开发
- 点击“”按钮,等待安装完成。
修改
小提示: 如果已经安装了该工作负载,但不确定是否完整,可以重新运行安装程序,勾选后确认状态为“已安装”。
创建项目
- 打开 Visual Studio,在启动窗口中选择“”。
创建新项目
- 在搜索框中输入
asp.net core web 应用,从结果列表中选择“”模板,然后点击“ASP.NET Core Web 应用
”。下一步
- 在“配置新项目”对话框中,输入项目名称(例如
MyEmptyWebApp),并选择项目保存的位置。点击“”。创建
注意: 确保在搜索时选择的是“
ASP.NET Core Web 应用
ASP.NET Core Web API
选择项目类型
在“创建新的 ASP.NET Core Web 应用程序”向导中,你需要选择项目模板:
- 在模板列表中,选择“”。
空
- 确认“”为“
身份验证类型
”(可根据需要后续添加)。无
- 点击“”。
创建
小提示: 选择“空”模板后,项目将只包含最基础的文件(如 Program.cs、Startup.cs 和 .csproj),没有预定义的页面、控制器或视图,非常适合从头构建自定义应用。
配置项目
- 在中,右键点击项目名称,选择“
解决方案资源管理器
”。属性
- 在“”选项卡中,确认
应用程序
为所需的 .NET Core 版本(例如 .NET 6.0 或 .NET 8.0)。目标框架
- 根据需要调整其他设置,如、
输出路径
等。通常保持默认即可。启动项
注意: 目标框架的选择会影响可用的 NuGet 包版本和 API 支持。建议使用最新的长期支持(LTS)版本。
添加依赖项
如果项目需要使用特定的 NuGet 包(例如 Entity Framework Core、Swagger 等),可以通过以下步骤添加:
- 在中,右键点击项目名称,选择“
解决方案资源管理器
”。管理 NuGet 包
- 在 NuGet 包管理器中,切换到“”选项卡。
浏览
- 在搜索框中输入需要的包名称(例如
Microsoft.EntityFrameworkCore.SqlServer),选择对应的包,然后点击“”。安装
小提示: 安装包前,请检查包是否与当前项目目标框架兼容。可以在 NuGet 包详情页查看“
依赖项
编写代码
创建控制器
- 在中,右键点击项目名称,选择“
解决方案资源管理器
” -> “添加
”,将文件夹命名为新建文件夹
Controllers。 - 右键点击
Controllers文件夹,选择“” -> “添加
”。控制器
- 在“添加控制器”向导中,选择控制器类型(例如“”或“
MVC 控制器 - 空
”)。API 控制器 - 空
- 点击“”,按照提示输入控制器名称(如
添加
HomeController),然后点击“”。确定
注意: 如果选择“API 控制器”,则控制器默认返回 JSON 数据;如果选择“MVC 控制器”,则需要配合视图使用。
创建视图
- 在中,右键点击项目名称,选择“
解决方案资源管理器
” -> “添加
”,将文件夹命名为新建文件夹
Views。 - 在
Views文件夹下,再创建一个与控制器名称对应的子文件夹(例如Home)。 - 右键点击该子文件夹,选择“” -> “
添加
”。视图
- 在“添加视图”对话框中,输入视图名称(如
Index),选择视图引擎(通常为),并勾选“Razor (CSHTML)
”或保持默认。点击“使用布局页
”。添加
小提示: 如果使用空模板,项目默认没有布局页。你可以在 Views 文件夹下创建 _ViewStart.cshtml 和 _Layout.cshtml 来设置共享布局。
运行项目
完成代码编写后,可以启动项目查看效果:
- 点击 Visual Studio 工具栏中的“”按钮(绿色三角形),或使用快捷键
启动
(不带调试)或Ctrl+F5
(带调试)。F5
- 浏览器将自动打开,显示默认的页面或 API 端点。如果创建了控制器和视图,记得在
Startup.cs或Program.cs中配置路由和终结点(例如添加app.UseEndpoints和MapControllerRoute)。
注意: 空模板默认没有配置 MVC 路由。你需要确保在 Startup.cs 的 ConfigureServices 方法中添加 services.AddControllersWithViews();,并在 Configure 方法中添加 app.UseRouting(); 和 app.UseEndpoints(endpoints => { endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); });。
特色功能:空的 ASP.NET Core Web 项目有什么优势?
- :仅包含最必要的文件(
极简起点
Program.cs、Startup.cs、.csproj),没有多余的模板代码,让你专注于核心逻辑。 - :你可以自由选择使用 MVC、Web API、Razor Pages 还是其他框架,灵活添加依赖。
完全可控
- :适合初学者理解 ASP.NET Core 的请求管道、中间件、依赖注入等基础概念,而不被复杂模板干扰。
学习友好
- :由于不包含多余功能,启动速度和内存占用更优,适合构建微服务或轻量级 API。
性能优化
常见问题与解答
Q1: 创建空项目后,运行时报错“HTTP Error 500.30 - ANCM In-Process Startup Failure”怎么办?
A:
Program.cs 或 Startup.cs 中存在代码错误,或者缺少必要的 NuGet 包。请检查:
- 确保
Program.cs中调用了CreateHostBuilder(args).Build().Run();并且方法正确。 - 检查
appsettings.json是否存在且格式正确。 - 尝试在 Visual Studio 的“输出”窗口中查看详细错误信息。
Q2: 我添加了控制器和视图,但访问页面时显示 404 错误?
A:
Startup.cs 的 ConfigureServices 中添加了 services.AddControllersWithViews();,并在 Configure 中添加了 app.UseRouting(); 和 app.UseEndpoints(endpoints => { endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}"); });。另外,检查控制器名称和视图文件夹名称是否匹配(例如控制器名为 HomeController,则视图文件夹应为 Views/Home)。
Q3: 如何将空项目转换为 MVC 项目?
A:
- 在
Startup.cs的ConfigureServices中添加services.AddControllersWithViews();。 - 在
Configure中添加路由中间件和终结点(如上所述)。 - 创建
Controllers和Views文件夹,并添加控制器和视图。 - 可选:添加
wwwroot文件夹用于静态文件,并在Configure中添加app.UseStaticFiles();。
Q4: 空项目中没有 launchSettings.json 文件,如何配置启动 URL?
A:
launchSettings.json(位于 Properties 文件夹下)。如果未生成,可以手动创建,或者在项目属性中设置“调试”选项卡的“启动浏览器”URL。右键项目 -> 属性 -> 调试,在“环境变量”中设置 ASPNETCORE_URLS 为所需地址(如 http://localhost:5000)。
总结
通过以上步骤,你可以在 Visual Studio 中成功创建一个空的 ASP.NET Core Web 项目,并逐步添加控制器、视图和依赖项。这种从零开始的方式让你能够深入理解框架的配置和运行机制,为后续开发复杂 Web 应用打下坚实基础。如果在实践过程中遇到其他问题,欢迎查阅官方文档或在社区中搜索相关解决方案。