📜  ASP.NET Core-Project.Json

📅  最后修改于: 2020-11-21 04:51:59             🧑  作者: Mango


在本章中,我们将讨论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帮助,不仅包括程序包名称,还包括版本号,如下所示:以下屏幕截图。

智能感知

您也可以通过右键单击解决方案资源管理器中的“引用”来使用UI,然后选择“管理NuGet程序包”。现在,您可以看到当前安装的软件包。

已安装的套件

这些程序包与project.json文件中的程序包相同,您还可以转到浏览器并添加其他程序包,包括预发布的程序包,例如安装在该项目中的MVC框架。

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。

  • .NET Framework已有15年的历史了,它包含了从Web编程到桌面编程等所有功能的框架。

  • 这是一个巨大的框架,仅适用于Windows。

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

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