ASP.NET Core - Project.Json


在本章中,我们将讨论project.json文件。该文件使用 JavaScript 对象表示法来存储配置信息,并且该文件才是 .NET 应用程序的真正核心。如果没有此文件,您就不会有 ASP.NET Core 项目。在这里,我们将讨论该文件的一些最重要的功能。让我们双击project.json文件。

双击 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 框架。

MVC框架

如果您立即使用“安装”按钮安装此包,则此包将存储在 project.json 中。Frameworks 部分是project.json 的另一个重要部分,此部分告诉 ASP.NET 您的应用程序可以使用哪些 .NET 框架。

“构架”: {
   “netcoreapp1.0”:{
      “进口”:[
         “dotnet5.6”,
         “便携式-net45+win8”
      ]
   }
},

在这种情况下,您将看到“ netcoreapp1.0 ”是项目中使用的框架,您还可以包含安装 Visual Studio 时安装的完整 .NET Framework。

  • 许多版本的 Windows 操作系统中都包含相同的 .NET Framework。

  • .NET Framework 已经存在了 15 年,它包含的框架可以执行从 Web 编程到桌面编程的所有操作。

  • 它是一个巨大的框架,只能在 Windows 上运行。

  • “netcoreapp1.0”是.NET Core 框架。它是一个跨平台框架,可以工作在各种平台上,不仅是Windows,还可以工作在OS X和Linux上。

  • 该框架的功能比完整的 .NET 框架少,但它确实具有 ASP.NET Core Web 开发所需的所有功能。