ASP.NET Core - 项目布局

在本章中,我们将讨论ASP.NET核心项目如何出现在文件系统中以及不同文件和目录如何协同工作.

让我们打开在上一章中创建的FirstAppDemo 项目.

First Demo App

在Solution Explorer窗口中,右键单击 Solution 节点,然后在文件资源管理器中选择打开文件夹.

右键单击解决方案

您现在将看到根目录其中包含两个文件: FirstAppDemo.sln global.json .

Global Json

FirstAppDemo.sln 是一个解决方案文件.默认情况下,Visual Studio已使用此扩展程序多年,如果要在Studio中打开应用程序并对其进行操作,则可以双击该文件.

还有一个 global.json 文件.让我们在Visual Studio中打开这个文件.

Firstappdemo

在文件中,项目的设置很重要.此项目设置告诉ASP.NET在哪里查找源代码以及哪些文件夹包含您的项目.

源代码有两个可能的文件夹" src "一个"测试"文件夹.除非您的项目和源代码位于这两个文件夹之一,否则代码将无法构建.如果需要,可以更改这些设置.

Windows资源管理器在磁盘上有"src"文件夹.您没有测试文件夹.在测试文件夹中,您可以放置单元测试项目.让我们双击"src"文件夹.

SRC Folder

您可以看到FirstAppDemo项目和Web应用程序.现在,双击该文件夹.

Web Application

这些是应用程序的源代码文件,您还可以在"解决方案资源管理器"窗口中看到此文件夹结构.这是因为在当前版本的ASP.NET Core中,文件系统确定项目中的内容.

如果向磁盘添加新文件,该文件将被添加到该项目.如果删除文件,则会从项目中删除该文件.一切都保持同步,这与之前版本的ASP.NET Core略有不同,其中包含项目文件,* .cs proj文件,其中包含项目中所有内容的清单.

ASP.NET Core还会在文件更改或出现新文件时编译应用程序.

示例

让我们看一个简单的例如,在文本编辑器中打开 Startup.cs 文件.

示例

正是这行代码响应了对应用程序的每个HTTP请求,它只是响应Hello World!

让我们更改字符串在上面的截图中说" Hello World!这个ASP.NET核心应用程序"如下面的程序所示.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 

using Microsoft.AspNetCore.Builder; 
using Microsoft.AspNetCore.Hosting; 
using Microsoft.AspNetCore.Http; 

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;  

namespace FirstAppDemo {
   public class Startup { 
      // This method gets called by the runtime. 
      // Use this method to add services to the container. 
      // For more information on how to configure your application, 
      // visit http://go.microsoft.com/fwlink/?LinkID=398940 
      public void ConfigureServices(IServiceCollection services) { 
      }  
      
      // This method gets called by the runtime. 
      // Use this method to configure the HTTP request pipeline. 
      public void Configure(IApplicationBuilder app, 
         IHostingEnvironment env, ILoggerFactory loggerFactory) { 
         loggerFactory.AddConsole();  
         
         if (env.IsDevelopment()){ 
            app.UseDeveloperExceptionPage(); 
         }  
         app.Run(async (context) => { 
            await context.Response.WriteAsync(
               "Hello World! This ASP.NET Core Application");
         });
      } 
   } 
}

按Ctrl + S将文件保存在文本编辑器中,然后返回Web浏览器并刷新应用程序.

保存并打开浏览器

您现在可以看到您的更改反映在浏览器中.

  • 这是因为ASP.NET将监视文件系统并在文件更改时自动重新编译应用程序.您不需要在Visual Studio中显式构建应用程序.

  • 实际上,您可以使用完全不同的编辑器,例如Visual Studio Code.

  • 您需要对Visual Studio执行的操作是通过在没有调试器的情况下运行来启动Web服务器.您也可以按Ctrl + F5,然后可以编辑文件,保存文件,只需刷新浏览器即可查看更改.

  • 这是一个很好的工作流程使用C#等编译语言构建Web应用程序.