- 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 開發所需的所有功能。