眾所周知,CLI是包含在.NET SDK中,執行.NET SDK命令的命令行工具,輸入dotnet -h查看所有命令。
我們知道.NET SDK在windows/Linux/macOS都有相應的版本,所以,CLI可以在以上系統中運行。
CLI十分強大,我們可以通過命令安裝包(dotnet add)和工具(dotnet tool install)
SDK 命令:
add 將包或引用添加到 .NET 項目。
build 生成 .NET 項目。
build-server 與由生成版本啟動的服務器進行交互。
clean 清理 .NET 項目的生成輸出。
help 顯示命令行幫助。
list 列出 .NET 項目的項目引用。
msbuild 運行 Microsoft 生成引擎(MSBuild)命令。
new 創建新的 .NET 項目或文件。
nuget 提供其他 NuGet 命令。
pack 創建 NuGet 包。
publish 發布 .NET 項目進行部署。
remove 從 .NET 項目中刪除包或引用。
restore 還原 .NET 項目中指定的依賴項。
run 生成並運行 .NET 項目輸出。
sln 修改 Visual Studio 解決方案文件。
store 在運行時包存儲中存儲指定的程序集。
test 使用 .NET 項目中指定的測試運行程序運行單元測試。
tool 安裝或管理擴展 .NET 體驗的工具。
vstest 運行 Microsoft 測試引擎(VSTest)命令。
add 將包或引用添加到 .NET 項目。
build 生成 .NET 項目。
build-server 與由生成版本啟動的服務器進行交互。
clean 清理 .NET 項目的生成輸出。
help 顯示命令行幫助。
list 列出 .NET 項目的項目引用。
msbuild 運行 Microsoft 生成引擎(MSBuild)命令。
new 創建新的 .NET 項目或文件。
nuget 提供其他 NuGet 命令。
pack 創建 NuGet 包。
publish 發布 .NET 項目進行部署。
remove 從 .NET 項目中刪除包或引用。
restore 還原 .NET 項目中指定的依賴項。
run 生成並運行 .NET 項目輸出。
sln 修改 Visual Studio 解決方案文件。
store 在運行時包存儲中存儲指定的程序集。
test 使用 .NET 項目中指定的測試運行程序運行單元測試。
tool 安裝或管理擴展 .NET 體驗的工具。
vstest 運行 Microsoft 測試引擎(VSTest)命令。
PMC顧名思義是用來安裝包的
以安裝Microsoft.EntityFrameworkCore.SqlServer為例
.NET Core CLI
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
PMC
Install-Package Microsoft.EntityFrameworkCore.SqlServer
所以兩者都是工具(tool),但工作范圍差距很大,這里還要說到的一個工具(dotnet ef),使用ef6和entityframework core肯定需要該工具
前面說了,我們可以通過CLI安裝tool,我們可將dotnet ef 安裝為全局工具或本地工具
CLI
dotnet tool install --global dotnet-ef
可到官網看dotnet ef的用途:https://docs.microsoft.com/zh-cn/ef/core/cli/dotnet
雖然dotnet ef命令也可以在PMC中使用,如下圖所示

但一般建議安裝一下包使得PMC適用於EF Core(也可用CLI安裝此包,因為它只是個包呀)
PM>Install-Package Microsoft.EntityFrameworkCore.Tools
安裝這個包后,就可在PMC中做(dotnet ef能做的)數據庫操作了,如Add-Migration
、Update-Database