1. 什么是Project.json文件?
Project.json文件是ASP.NET Core项目的配置文件。在.NET Core 2.0之前,Project.json文件是代表.NET Core项目的主要配置文件。它包含了项目的依赖关系、NuGet包、编译选项和应用程序设置。
Project.json文件的内容通常由更改推送到项目的构建系统,然后生成父项目。
2. ASP.NET Core项目中的Project.json文件结构
一个Project.json文件通常由以下部分组成:
2.1 "dependencies":项目所依赖的NuGet包及其版本
* "dependencies"部分定义了项目所依赖的NuGet包及其版本。
例如,下面是一个包含两个依赖项的dependencies部分的Project.json文件示例:
"dependencies": {
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.1"
}
2.2 "frameworks":指定了项目的目标框架及其版本
* "frameworks"部分定义了项目所针对的目标框架及其版本。
例如,下面是一个指定项目目标框架的Project.json文件示例:
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.1"
},
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
}
2.3 "buildOptions":定义项目的编译选项
* "buildOptions"部分定义了项目的编译选项。
例如,下面是一个定义了项目编译选项的Project.json文件示例:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"warningsAsErrors": true,
"debugType": "full",
"xmlDoc": true
}
3. Project.json文件与.NET Core 2.0的关系
由于.NET Core 2.0中已经改版,Project.json转而使用.csproj文件作为主要的项目配置文件,但在.NET Core 2.0之前,Project.json文件是主要的项目配置文件,同时也是构建系统的配置文件。
在.NET Core 2.0之前,执行"dotnet build"将解析Project.json文件并生成项目,但在.NET Core 2.0中,执行"dotnet build"将解析.csproj文件并生成项目。
因此,Project.json文件已成为ASP.NET Core开发的过去,但对于当前运行旧版本的.NET Core,Project.json文件仍然是很重要的。