@echo 請修改批處理文件名後,如:Example.Core ,註釋掉goto end,再執行腳本 pause goto end ::goto end set name=%~n0 mkdir %name%.Model cd %name%.Model dotnet new classlib --framework netcoreapp3.0 dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Dapper dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.Relational dotnet add package Microsoft.EntityFrameworkCore.Design dotnet add package Microsoft.EntityFrameworkCore.Tools cd .. mkdir %name%.General cd %name%.General dotnet new classlib --framework netcoreapp3.0 dotnet add package log4net dotnet add package Newtonsoft.Json cd .. mkdir %name%.DAL cd %name%.DAL dotnet new classlib --framework netcoreapp3.0 dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Dapper dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core cd .. dotnet add %name%.DAL/%name%.DAL.csproj reference %name%.Model/%name%.Model.csproj mkdir %name%.BLL cd %name%.BLL dotnet new classlib --framework netcoreapp3.0 dotnet add package log4net dotnet add package Newtonsoft.Json cd .. dotnet add %name%.BLL/%name%.BLL.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.BLL/%name%.BLL.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.BLL/%name%.BLL.csproj reference %name%.DAL/%name%.DAL.csproj mkdir %name%.Api cd %name%.Api dotnet new webapi dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Autofac dotnet add package Autofac.Extensions.DependencyInjection dotnet add package AutoMapper dotnet add package Dapper dotnet add package Microsoft.Extensions.Options dotnet add package Microsoft.Extensions.Caching.Abstractions dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.Relational dotnet add package Microsoft.EntityFrameworkCore.Design dotnet add package Microsoft.EntityFrameworkCore.Tools cd .. dotnet add %name%.Api/%name%.Api.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.Api/%name%.Api.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.Api/%name%.Api.csproj reference %name%.BLL/%name%.BLL.csproj goto :next mkdir %name%.Web cd %name%.Web dotnet new mvc dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Autofac dotnet add package Autofac.Extensions.DependencyInjection dotnet add package AutoMapper dotnet add package Dapper dotnet add package Microsoft.Extensions.Options dotnet add package Microsoft.Extensions.Caching.Abstractions dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.Relational dotnet add package Microsoft.EntityFrameworkCore.Design dotnet add package Microsoft.EntityFrameworkCore.Tools cd .. dotnet add %name%.Web/%name%.Web.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.Web/%name%.Web.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.Web/%name%.Web.csproj reference %name%.BLL/%name%.BLL.csproj :next mkdir %name%.Test cd %name%.Test dotnet new console dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Dapper dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core cd .. dotnet add %name%.Test/%name%.Test.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.Test/%name%.Test.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.Test/%name%.Test.csproj reference %name%.BLL/%name%.BLL.csproj dotnet add %name%.Test/%name%.Test.csproj reference %name%.DAL/%name%.DAL.csproj mkdir %name%.Tools cd %name%.Tools dotnet new winforms dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Dapper dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core cd .. dotnet add %name%.Tools/%name%.Tools.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.Tools/%name%.Tools.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.Tools/%name%.Tools.csproj reference %name%.BLL/%name%.BLL.csproj dotnet add %name%.Tools/%name%.Tools.csproj reference %name%.DAL/%name%.DAL.csproj mkdir %name%.Service cd %name%.Service dotnet new grpc dotnet add package log4net dotnet add package Newtonsoft.Json dotnet add package Dapper dotnet add package Oracle.EntityFrameworkCore dotnet add package Oracle.ManagedDataAccess.Core dotnet add package Grpc dotnet add package Grpc.Tools dotnet add package Google.Protobuf cd .. dotnet add %name%.Service/%name%.Service.csproj reference %name%.Model/%name%.Model.csproj dotnet add %name%.Service/%name%.Service.csproj reference %name%.General/%name%.General.csproj dotnet add %name%.Service/%name%.Service.csproj reference %name%.BLL/%name%.BLL.csproj dotnet add %name%.Service/%name%.Service.csproj reference %name%.DAL/%name%.DAL.csproj ::建立解決方案,並把全部工程項目加入解決方案 dotnet new sln -n %name% for /d %%i in (*) do ( echo %%i dotnet sln %name%.sln add %%i/%%i.csproj ) ::編譯解決方案 dotnet build :end
下表定義了最多見的目標框架、如何引用這些框架,以及它們實現的 .NET Standard 版本。 這些目標框架版本是最新的穩定版本。 預覽版不會顯示。 目標框架名字對象 (TFM) 是一個標準化令牌格式,用於指定 .NET 應用或庫的目標框架。react
目標 Framework | 最新 穩定版本 |
目標框架名字對象 (TFM) | 已實現 .NET Standard 版本 |
---|---|---|---|
.NET Standard | 2.0 | netstandard2.0 | 不可用 |
.NET Core | 2.2 | netcoreapp2.2 | 2.0 |
.NET Framework | 4.8 | net48 | 2.0 |
目標框架一般由 TFM 引用。 下表顯示 .NET Core SDK 和 NuGet 客戶端支持的目標框架。 等效項顯示在括號內。 例如,win81
對於 netcore451
來講等效於 TFM。web
目標 Framework | TFM |
---|---|
.NET Standard | netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 |
.NET Core | netcoreapp1.0 netcoreapp3.0json |
.NET Framework | net11 net20 net35 net40 net403 net45 net451 net452 net46 net461 net462 net47 net471 net472 net48 |
Windows 應用商店 | netcore [netcore45] netcore45 [win] [win8] netcore451 [win81] |
.NET Micro Framework | netmf |
Silverlight | sl4 sl5 |
Windows Phone | wp [wp7] wp7 wp75 wp8 wp81 wpa81 |
通用 Windows 平臺 | uap [uap10.0] uap10.0 [win10] [netcore50] |
命令 | 函數 |
---|---|
dotnet build | 生成 .NET Core 應用程序。 |
dotnet build-server | 與經過生成啓動的服務器進行交互。 |
dotnet clean | 清除生成輸出。 |
dotnet help | 顯示命令更詳細的在線文檔。 |
dotnet migrate | 將有效的預覽版 2 項目遷移到 .NET Core SDK 1.0 項目。 |
dotnet msbuild | 提供對 MSBuild 命令行的訪問權限。 |
dotnet new | 爲給定的模板初始化 C# 或 F# 項目。 |
dotnet pack | 建立代碼的 NuGet 包。 |
dotnet publish | 發佈 .NET 依賴於框架或獨立應用程序。 |
dotnet restore | 還原給定應用程序的依賴項。 |
dotnet run | 從源運行應用程序。 |
dotnet sln | 用於添加、刪除和列出解決方案文件中項目的選項。 |
dotnet store | 將程序集存儲到運行時包存儲區。 |
dotnet test | 使用測試運行程序運行測試。 |
命令 | 函數 |
---|---|
dotnet add reference | 添加項目引用。 |
dotnet list reference | 列出項目引用。 |
dotnet remove reference | 刪除項目引用。 |
命令 | 函數 |
---|---|
dotnet add package | 添加 NuGet 包。 |
dotnet remove package | 刪除 NuGet 包。 |
命令 | 函數 |
---|---|
dotnet nuget delete | 從服務器刪除或取消列出包。 |
dotnet nuget locals | 清除或列出本地 NuGet 資源,例如 http 請求緩存、臨時緩存或計算機範圍的全局包文件夾。 |
dotnet nuget push | 將包推送到服務器,並將其發佈。 |
.NET Core 全局工具可與 .NET Core SDK 2.1.300 一塊兒開始使用:redux
命令 | 函數 |
---|---|
dotnet tool install | 在計算機上安裝全局工具。 |
dotnet tool list | 列出當前安裝在計算機上的默認目錄中或指定路徑中的全部全局工具。 |
dotnet tool uninstall | 從計算機中卸載全局工具。 |
dotnet tool update | 在計算機上更新全局工具。 |
自 .NET Core SDK 2.1.300 開始,許多使用 DotnetCliToolReference
的僅在每一個項目的基礎上可用的工具現做爲 .NET Core SDK 的一部分提供。 下表中列出了這些工具:api
工具 | 函數 |
---|---|
dev-certs | 建立和管理開發證書。 |
ef | Entity Framework Core 命令行工具。 |
sql-cache | SQL Server 緩存命令行工具。 |
user-secrets | 管理開發用戶機密。 |
watch | 啓動文件觀察程序,以在更改文件時運行命令。 |
有關每一個工具的詳細信息,請鍵入 dotnet <tool-name> --help
。緩存
dotnet new
- 根據指定的模板,建立新的項目、配置文件或解決方案。服務器
dotnet new <TEMPLATE> [--dry-run] [--force] [-i|--install] [-lang|--language] [-n|--name] [--nuget-source] [-o|--output] [-u|--uninstall] [Template options] dotnet new <TEMPLATE> [-l|--list] [--type] dotnet new [-h|--help]
調用命令時要實例化的模板。 每一個模板可能具備可傳遞的特定選項。 有關詳細信息,請參閱模板選項。mvc
若是 TEMPLATE
值與「模板」或「短名稱」列中的文本不徹底匹配,則會對這兩列執行 substring 匹配 。app
此命令包含默認的模板列表。 使用 dotnet new -l
獲取可用模板的列表。 下表顯示了隨 .NET Core SDK 2.2.100 一塊兒預安裝的模板。 模板的默認語言顯示在括號內。
模板 | 短名稱 | 語言 | Tags |
---|---|---|---|
控制檯應用程序 | console |
[C#]、F#、VB | 經常使用/控制檯 |
類庫 | classlib |
[C#]、F#、VB | 經常使用/庫 |
單元測試項目 | mstest |
[C#]、F#、VB | 測試/MSTest |
NUnit 3 測試項目 | nunit |
[C#]、F#、VB | 測試/NUnit |
NUnit 3 測試項 | nunit-test |
[C#]、F#、VB | 測試/NUnit |
xUnit 測試項目 | xunit |
[C#]、F#、VB | 測試/xUnit |
Razor 頁 | page |
[C#] | Web/ASP.NET |
MVC ViewImports | viewimports |
[C#] | Web/ASP.NET |
MVC ViewStart | viewstart |
[C#] | Web/ASP.NET |
ASP.NET Core 空 | web |
[C#],F# | Web/空 |
ASP.NET Core Web 應用程序 (Model-View-Controller) | mvc |
[C#],F# | Web/MVC |
ASP.NET Core Web 應用程序 | webapp , razor |
[C#] | Web/MVC/Razor Pages |
含 Angular 的 ASP.NET Core | angular |
[C#] | Web/MVC/SPA |
含 React.js 的 ASP.NET Core | react |
[C#] | Web/MVC/SPA |
含 React.js 和 Redux 的 ASP.NET Core | reactredux |
[C#] | Web/MVC/SPA |
Razor 類庫 | razorclasslib |
[C#] | Web/Razor/庫/Razor 類庫 |
ASP.NET Core Web API | webapi |
[C#],F# | Web/WebAPI |
global.json 文件 | globaljson |
配置 | |
NuGet 配置 | nugetconfig |
配置 | |
Web 配置 | webconfig |
配置 | |
解決方案文件 | sln |
解決方案 |