在命令行下新建一个 .NET 8 MVC 项目

更新日期: 2024-07-06 阅读次数: 396 字数: 952 分类: Windows

最近在看砖头书 《C# 10 和 .NET 6 入门与跨平台开发,第六版》(.NET 8 那本太贵买不起),真是堪称废话大全,全是没用的八股和 IDE 截图,我甚至怀疑作者和译者都没有实际开发经验。有点看不下去,所以干脆直接动手吧,边重写这个博客,边学习吧。

首先需要安装 .NET8, 参考 Windows PowerShell 中通过 winget 命令行下载安装 .Net 8

.NET 版本

> dotnet.exe --version
8.0.301

新建项目

WSL 下直接执行,或者 PowerShell 中也可以

> dotnet.exe new mvc -n BlogNet8

-n 是 --name 的缩写,即指定了项目名,也自动创建了项目目录。

如果想使用自带的用户管理功能,可以加上 auth 参数:

> dotnet.exe new mvc -n BlogNet8 --auth=Individual

这样,生成的项目相对不加 auth 参数的,会在默认首页右上角多了个注册和登录的功能,而且使用了 sqlite 数据库。

目录结构

.Net 8 MVC 默认生成的目录结构跟其他语言的 MVC 框架没有什么大的分别,比较好理解。 会看到内置了 bootstrap,跟 laravel 类似,其实挺方便。

> tree

.
├── BlogNet8.csproj
├── Controllers
│   └── HomeController.cs
├── Models
│   └── ErrorViewModel.cs
├── Program.cs
├── Properties
│   └── launchSettings.json
├── Views
│   ├── Home
│   │   ├── Index.cshtml
│   │   └── Privacy.cshtml
│   ├── Shared
│   │   ├── Error.cshtml
│   │   ├── _Layout.cshtml
│   │   ├── _Layout.cshtml.css
│   │   └── _ValidationScriptsPartial.cshtml
│   ├── _ViewImports.cshtml
│   └── _ViewStart.cshtml
├── appsettings.Development.json
├── appsettings.json
├── obj
│   ├── BlogNet8.csproj.nuget.dgspec.json
│   ├── BlogNet8.csproj.nuget.g.props
│   ├── BlogNet8.csproj.nuget.g.targets
│   ├── project.assets.json
│   └── project.nuget.cache
└── wwwroot
    ├── css
    │   └── site.css
    ├── favicon.ico
    ├── js
    │   └── site.js
    └── lib
        ├── bootstrap
        │   ├── LICENSE
        │   └── dist
        │       ├── css
        │       │   ├── bootstrap-grid.css
        │       │   ├── bootstrap.css
        │       │   ├── bootstrap.css.map
        │       │   ├── bootstrap.min.css
        │       │   ├── bootstrap.min.css.map
        │       │   ├── bootstrap.rtl.css
        │       │   ├── bootstrap.rtl.css.map
        │       │   ├── bootstrap.rtl.min.css
        │       │   └── bootstrap.rtl.min.css.map
        │       └── js
        │           ├── bootstrap.bundle.js
        │           ├── bootstrap.js
        │           ├── bootstrap.js.map
        │           ├── bootstrap.min.js
        │           └── bootstrap.min.js.map
        ├── jquery
        │   ├── LICENSE.txt
        │   └── dist
        │       ├── jquery.js
        │       ├── jquery.min.js
        │       └── jquery.min.map
        ├── jquery-validation
        │   ├── LICENSE.md
        │   └── dist
        │       ├── additional-methods.js
        │       ├── additional-methods.min.js
        │       ├── jquery.validate.js
        │       └── jquery.validate.min.js
        └── jquery-validation-unobtrusive
            ├── LICENSE.txt
            ├── jquery.validate.unobtrusive.js
            └── jquery.validate.unobtrusive.min.js

20 directories, 80 files

运行

> dotnet.exe run

Building...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5180
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: D:\work\BlogNet8

然后直接在浏览器里访问:

http://localhost:5180

即可。

注意,这里的端口号是随机分配的,并不是固定的。

修改端口

如果要改成自己习惯的端口,可以修改文件:

Properties/launchSettings.json

  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5180",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7286;http://localhost:5180",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },

将上面的 5180 改成 5000 即可。然后再次运行

> dotnet.exe run

访问 http://localhost:5000 就能看到效果。

命令帮助

new mvc 时,支持的参数还挺多的,可以通过下面命令查看具体的参数。例如,是否默认支持用户认证之类,选择 .NET 版本之类。

> dotnet.exe new mvc --help

ASP.NET Core Web App (Model-View-Controller) (C#)
Author: Microsoft
Description: A project template for creating an ASP.NET Core application with example ASP.NET Core MVC Views and Controllers. This template can also be used for RESTful HTTP services.
...

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式