- ASP.NET Core 教程
- ASP.NET Core - 首页
- ASP.NET Core - 概述
- ASP.NET Core - 环境设置
- ASP.NET Core - 新建项目
- ASP.NET Core - 项目布局
- ASP.NET Core - project.json
- ASP.NET Core - 配置
- ASP.NET Core - 中间件
- ASP.NET Core - 异常处理
- ASP.NET Core - 静态文件
- ASP.NET Core - 设置 MVC
- ASP.NET Core - MVC 设计模式
- ASP.NET Core - 路由
- ASP.NET Core - 属性路由
- ASP.NET Core - Action 结果
- ASP.NET Core - 视图
- 设置 Entity Framework
- ASP.NET Core - DbContext
- ASP.NET Core - Razor 布局视图
- ASP.NET Core - Razor 视图启动
- ASP.NET Core - Razor 视图导入
- ASP.NET Core - Razor 标签助手
- ASP.NET Core - Razor 编辑表单
- ASP.NET Core - 身份验证概述
- ASP.NET Core - Authorize 属性
- 身份验证配置
- ASP.NET Core - 身份迁移
- ASP.NET Core - 用户注册
- ASP.NET Core - 创建用户
- ASP.NET Core - 登录和注销
- ASP.NET Core 有用资源
- ASP.NET Core - 快速指南
- ASP.NET Core - 有用资源
- ASP.NET Core - 讨论
ASP.NET Core - project.json
本章将讨论project.json文件。此文件使用 JavaScript 对象表示法存储配置信息,它是 .NET 应用程序的核心。没有此文件,您将无法拥有 ASP.NET Core 项目。在这里,我们将讨论此文件的一些最重要的功能。让我们双击project.json文件。
目前,project.json 文件中的默认代码实现如下:
{ "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" }, "Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0" }, "tools": { "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" }, "frameworks": { "netcoreapp1.0": { "imports": ["dotnet5.6", "portable-net45+win8"] } }, "buildOptions": { "emitEntryPoint": true, "preserveCompilationContext": true }, "runtimeOptions": { "configProperties": { "System.GC.Server": true } }, "publishOptions": { "include": ["wwwroot", "web.config" ] }, "scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } }
如我们所见,我们在文件的顶部有版本信息。这是您构建应用程序时将使用的版本号。
版本是 1.0.0,但此文件中最重要的部分是依赖项。
如果您的应用程序要执行任何有用的工作,那么您将需要库和框架来完成这项工作,例如将数据存储到数据库或从数据库检索数据,或者呈现复杂的 HTML。
在此版本的 ASP.NET Core 中,所有依赖项都通过 NuGet 包管理器进行管理。
NuGet 在 .NET 领域已经存在几年了,但现在管理所有依赖项的主要方法是使用作为 NuGet 包打包的库和框架。
应用程序需要的所有顶级 NuGet 包都将存储在此 project.json 文件中。
"Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0
您可以看到我们在此文件中有一些依赖项,并且确切的依赖项可能会随着 ASP.NET 的最终版本的发布而发生变化。当您想要添加新的依赖项时,例如 ASP.NET MVC 框架,您可以轻松地在此 project.json 文件中键入,您还将获得一些IntelliSense帮助,包括不仅包名称而且版本号,如下面的屏幕截图所示。
您也可以通过右键单击解决方案资源管理器中的“引用”,然后选择“管理 NuGet 包”来使用 UI。您现在可以看到当前安装的包。
这些包与 project.json 文件中的包相同,您还可以转到“浏览器”并添加其他包,包括预发布包,例如,将 MVC 框架安装到此项目中。
如果您现在使用“安装”按钮安装此包,则此包将存储在 project.json 中。“框架”部分是 project.json 的另一个重要部分,此部分告诉 ASP.NET 您的应用程序可以使用哪些 .NET 框架。
"frameworks": { "netcoreapp1.0": { "imports": [ "dotnet5.6", "portable-net45+win8" ] } },
在这种情况下,您将看到“netcoreapp1.0”是项目中使用的框架,您还可以包含安装 Visual Studio 时安装的完整 .NET Framework。
它与许多版本的 Windows 操作系统一起安装的 .NET Framework 相同。
它是已经存在 15 年的 .NET Framework,它包含从 Web 编程到桌面编程的所有功能的框架。
这是一个庞大的框架,只能在 Windows 上运行。
“netcoreapp1.0”是 .NET Core 框架。它是一个跨平台框架,可以在各种平台上运行,不仅限于 Windows,还包括 OS X 和 Linux。
此框架的功能比完整的 .NET Framework 少,但它确实具有我们进行 ASP.NET Core Web 开发所需的所有功能。