📅  最后修改于: 2020-11-21 04:51:59             🧑  作者: Mango
在本章中,我们将讨论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帮助,不仅包括程序包名称,还包括版本号,如下所示:以下屏幕截图。
您也可以通过右键单击解决方案资源管理器中的“引用”来使用UI,然后选择“管理NuGet程序包”。现在,您可以看到当前安装的软件包。
这些程序包与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。
.NET Framework已有15年的历史了,它包含了从Web编程到桌面编程等所有功能的框架。
这是一个巨大的框架,仅适用于Windows。
“ netcoreapp1.0”是.NET Core框架。它是一个跨平台的框架,可以在各种平台上运行,不仅适用于Windows,还可以适用于OS X和Linux。
该框架的功能少于完整的.NET框架,但确实具有我们ASP.NET Core Web开发所需的所有功能。