zoukankan      html  css  js  c++  java
  • .net core 第一个mvc项目目录结构简析

    创建项目的命令

        首先来认识一下创建项目可使用的各种命令,.NETCore 的命令都以 dotnet 打头,这很好理解,输入 dotnet xxx,就是执行环境变量指向的 C:Program Filesdotnetdotnet.exe 程序,然后给 dotnet.exe 提供参数运行。建议初学者以下命令逐个执行一遍,加深记忆和理解,如果实在记不住也没有关系,可以通过在控制台中输入命令

    1.帮助命令
    dotnet --help 
    // 或者
    dotnet optional --help
    //
    dotnet new --help // 了解创建项目的帮助文档
    2. dotnet new 创建各种类型的项目
    模板短名称语言
    控制台应用程序 console [C#]、F#、VB
    类库 classlib [C#]、F#、VB
    单元测试项目 mstest [C#]、F#、VB
    xUnit 测试项目 xunit [C#]、F#、VB
    Razor 页 page [C#]
    MVC ViewImports viewimports [C#]
    MVC ViewStart viewstart [C#]
    ASP.NET Core 空 web [C#],F#
    ASP.NET Core Web应用程序(Model - View - Controller) mvc [C#],F#
    ASP.NET Core Web 应用程序 razor [C#]
    含 Angular 的 ASP.NET Core angular [C#]
    含 React.js 的 ASP.NET Core react [C#]
    含 React.js 和 Redux 的 ASP.NET Core reactredux [C#]
    ASP.NET Core Web API webapi [C#],F#
    Razor 类库 razorclasslib [C#]
    global.json 文件 globaljson
    NuGet 配置 nugetconfig
    Web 配置 webconfig
    解决方案文件 sln
    • 更多命令,见
    https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new?tabs=netcore21

    最最常用的命令有 4 个,这些命令需要在项目根目录执行

    1. 创建一个 asp.net core mvc 项目,指定项目名称为 MyMvc
    dotnet new mvc  -o MyMvc
    2. 还原项目引用包
    dotnet restore
    3. 编译项目
    dotnet build
    4. 运行项目
    dotnet run

    Asp.Net Core 项目结构介绍

    1. 首先使用上面的命令创建一个 Asp.Net Core MVC 项目
    dotnet new mvc -o MyMvc
    2. 创建成功,得到一个新的 Asp.Net Core MVC 项目

    打开项目文件夹,进入项目,看到一个标准的 Asp.Net Core MVC 项目结构如下

    介绍各个目录和文件的作用

    1. 三层架构目录
    /Models
    /ViewS
    /Controllers

    这是一个和 Asp.Net MVC 相同的三层架构 MVC 项目,包含了 模型(Models)、视图(Views)、控制器(Controllers),简单来说就是 Models 内可以定义视图(Views)通过 html 传递到 Controllers 内控制器的实体对象

    2. obj 目录

    该目录用于存放相关配置文件暂存项,包引用项目配置说明

    3. Properties 目录

    该目录用于存放程序集信息,运行配置文件、内部资源等文件,该目录在创建之初,会默认创建一个 launchSettings.json ,该文件包含了一些程序启动时的信息

    {
      "iisSettings": {
        "windowsAuthentication": false, 
        "anonymousAuthentication": true, 
        "iisExpress": {
          "applicationUrl": "http://localhost:23090",
          "sslPort": 44351
        }
      },
      "profiles": {
        "IIS Express": {
          "commandName": "IISExpress",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        },
        "MyMvc": {
          "commandName": "Project",
          "launchBrowser": true,
          "applicationUrl": "https://localhost:5001;http://localhost:5000",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        }
      }
    }
    4. 无需理解太多,直接在项目根目录下输入命令启动 MVC 项目
    dotnet run

    你将会得到如下窗口输出信息

    重点关注控制台输出的一个信息

    Now listening on: https://localhost:5001
    Now listening on: http://localhost:5000

    该信息表示 Asp.Net Core MVC 项目已成功运行于 5001/5000 端口下,在浏览器中打开该连接地址

    https://localhost:5001

    再图看看 launchSettings.json 中的信息,找到下面的信息,你就了解了这个文件的作用是配置项目运行端口等信息的

    "applicationUrl": "https://localhost:5001;http://localhost:5000",
    5. wwwwroot

    该目录存放视图层(Views) html 页面引用的静态资源,如图片、样式表、脚本文件(js)等

    6. appsettings.json 和 appsettings.Development.json

    项目主配置文件,两个文件格式完全相同,实际上 appsettings.Development.json 表示 开发时运行程序的配置文件,使用 appsettings.{env}.json,可以很方便进行运行环境的切换,以加载不同的配置文件

    7. MyMvc.csproj 项目描述文件,用记事本打开它,看看
    <Project Sdk="Microsoft.NET.Sdk.Web">
    
      <PropertyGroup>
        <TargetFramework>netcoreapp2.1</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore.App" />
        <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
      </ItemGroup>
    
    </Project>

    第一行表示项目是一个 web 应用程序,当前使用的 SDK 版本为 netcoreapp2.1,配置节点 ItemGroup 包含了项目引用的 Nuget 包,如有新的包引用,可以加入该 ItemGroup 配置节

    8.Program.cs 文件,程序运行主入口,Main 方法所在
    9.Startup.cs
    • 该文件是默认文件,不可随意删除,在此文件中可以以包含服务配置、定义请求处理管道的重要操作。

    结语

         总的来说,这是一篇小白入门答疑,简单的介绍了一个标准的 Asp.Net Core MVC 项目都包含了哪些文件和目录,以及各自的作用,希望对未入门的同学有点帮助

  • 相关阅读:
    react中实现滚动到指定位置固定显示导航栏,反之浸入背景
    activeElement解决ios滚动到底部显示内容时,键盘挡住显示内容的问题
    公积金无租房备案提取如何办理?(以成都为例)
    公积金状态封存怎么解封?
    你应该知道的公积金基础知识科普
    react antd表单不用form.create方法怎么设置input 回显值
    简述个人账户向公司账户转账的方法
    js拖拽进入和离开重复触发的问题
    Electron截屏功能
    Electron在mac下快捷键失效的问题及解决
  • 原文地址:https://www.cnblogs.com/qinyi173/p/11010049.html
Copyright © 2011-2022 走看看