如何在VS Code中运行ASP.NET MVC 5(.NET Framework)项目及创建新项目
解决VS Code运行ASP.NET Framework项目及手动创建项目的问题
一、现有ASP.NET Framework项目在VS Code中的运行方法
1. 修正构建命令误区
你遇到的Error MSB4019是因为误用了dotnet build命令——该命令属于.NET CLI工具链,仅适配.NET Core/.NET 5+项目。ASP.NET Framework项目依赖传统MSBuild工具,必须用MSBuild完成构建。
2. 安装必要工具
- 安装Build Tools for Visual Studio(无需完整Visual Studio,仅需选择.NET Framework相关构建组件,比如对应项目版本的.NET Framework构建工具),安装后会自动包含MSBuild及所需的
Microsoft.WebApplication.targets文件。 - 在VS Code中安装C#扩展,提供语法高亮、智能提示和调试支持。
3. 构建项目
打开VS Code终端,进入项目根目录,执行MSBuild命令:
msbuild YourProjectName.csproj /p:Configuration=Debug /p:TargetFrameworkVersion=v4.7.2
(将v4.7.2替换为你的项目实际目标框架版本)
4. 运行项目
- 方式一:IIS Express命令行启动
确保已安装IIS Express,执行:
完成后在浏览器访问iisexpress /path:"你的项目根目录绝对路径" /port:5000http://localhost:5000即可。 - 方式二:VS Code调试配置
通过C#扩展生成launch.json配置文件,选择"IIS Express"作为调试目标,配置项目路径后即可一键启动调试。
二、不借助Visual Studio模板创建ASP.NET Framework新项目
1. 手动搭建项目结构
在目标文件夹创建以下核心目录与文件:
MyAspNetProject/ ├── App_Start/ │ └── RouteConfig.cs ├── Controllers/ │ └── HomeController.cs ├── Views/ │ ├── Home/ │ │ └── Index.cshtml │ └── Web.config ├── Global.asax ├── Global.asax.cs ├── Web.config └── MyAspNetProject.csproj
2. 编写项目文件(.csproj)
创建MyAspNetProject.csproj,示例内容(根据目标框架调整版本):
<Project ToolsVersion="17.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <AspNetVersion>4.7.2</AspNetVersion> <OutputType>Library</OutputType> <RootNamespace>MyAspNetProject</RootNamespace> <AssemblyName>MyAspNetProject</AssemblyName> </PropertyGroup> <ItemGroup> <Reference Include="System.Web" /> <Reference Include="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> <Reference Include="System.Core" /> <Reference Include="System.Data" /> </ItemGroup> <ItemGroup> <Compile Include="Global.asax.cs" /> <Compile Include="Controllers\HomeController.cs" /> <Compile Include="App_Start\RouteConfig.cs" /> </ItemGroup> <ItemGroup> <Content Include="Global.asax" /> <Content Include="Web.config" /> <Content Include="Views\Web.config" /> <Content Include="Views\Home\Index.cshtml" /> </ItemGroup> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" /> </Project>
注意:Import节点中的版本号(如v17.0)需与安装的Build Tools版本匹配(VS2022对应v17.0,VS2019对应v16.0)。
3. 编写基础业务文件
- Global.asax.cs:配置应用启动逻辑
using System; using System.Web.Mvc; using System.Web.Routing; namespace MyAspNetProject { public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); } } } - RouteConfig.cs:配置路由规则
using System.Web.Mvc; using System.Web.Routing; namespace MyAspNetProject.App_Start { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } } - HomeController.cs:编写基础控制器
using System.Web.Mvc; namespace MyAspNetProject.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } } } - Views相关文件:
Views/Web.config配置Razor视图引擎,Views/Home/Index.cshtml编写简单HTML视图内容。
4. 构建与运行
按照前文的MSBuild命令完成构建,再通过IIS Express或VS Code调试启动项目即可。
内容的提问来源于stack exchange,提问作者Lucas
相关产品推荐
相关产品推荐

