dotnet core 项目脚手架这种小事嘛...

dotnet core脚手架批处理.bat

@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 应用或库的目标框架。

目标 Framework最新 
稳定版本
目标框架名字对象 (TFM)已实现 
.NET Standard 版本
.NET Standard2.0netstandard2.0不可用
.NET Core2.2netcoreapp2.22.0
.NET Framework4.8net482.0

支持的目标框架版本

目标框架通常由 TFM 引用。 下表显示 .NET Core SDK 和 NuGet 客户端支持的目标框架。 等效项显示在括号内。 例如,win81 对于 netcore451 来说等效于 TFM。

目标 FrameworkTFM
.NET Standardnetstandard1.0
netstandard1.1
netstandard1.2
netstandard1.3
netstandard1.4
netstandard1.5
netstandard1.6
netstandard2.0
.NET Core

netcoreapp1.0
netcoreapp1.1
netcoreapp2.0
netcoreapp2.1
netcoreapp2.2

netcoreapp3.0

.NET Frameworknet11
net20
net35
net40
net403
net45
net451
net452
net46
net461
net462
net47
net471
net472
net48
Windows 应用商店netcore [netcore45]
netcore45 [win] [win8]
netcore451 [win81]
.NET Micro Frameworknetmf
Silverlightsl4
sl5
Windows Phonewp [wp7]
wp7
wp75
wp8
wp81
wpa81
通用 Windows 平台uap [uap10.0]
uap10.0 [win10] [netcore50]

 

dotnet 命令

命令函数
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删除项目引用。

NuGet 包

命令函数
dotnet add package添加 NuGet 包。
dotnet remove package删除 NuGet 包。

NuGet 命令

命令函数
dotnet nuget delete从服务器删除或取消列出包。
dotnet nuget locals清除或列出本地 NuGet 资源,例如 http 请求缓存、临时缓存或计算机范围的全局包文件夹。
dotnet nuget push将包推送到服务器,并将其发布。

全局工具命令

.NET Core 全局工具可与 .NET Core SDK 2.1.300 一起开始使用:

命令函数
dotnet tool install在计算机上安装全局工具。
dotnet tool list列出当前安装在计算机上的默认目录中或指定路径中的所有全局工具。
dotnet tool uninstall从计算机中卸载全局工具。
dotnet tool update在计算机上更新全局工具。

其他工具

自 .NET Core SDK 2.1.300 开始,许多使用 DotnetCliToolReference 的仅在每个项目的基础上可用的工具现作为 .NET Core SDK 的一部分提供。 下表中列出了这些工具:

工具函数
dev-certs创建和管理开发证书。
efEntity Framework Core 命令行工具。
sql-cacheSQL Server 缓存命令行工具。
user-secrets管理开发用户机密。
watch启动文件观察程序,以在更改文件时运行命令。

有关每个工具的详细信息,请键入 dotnet <tool-name> --help

dotnet new

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]

调用命令时要实例化的模板。 每个模板可能具有可传递的特定选项。 有关详细信息,请参阅模板选项

如果 TEMPLATE 值与“模板”或“短名称”列中的文本不完全匹配,则会对这两列执行 substring 匹配 。

此命令包含默认的模板列表。 使用 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 ViewImportsviewimports[C#]Web/ASP.NET
MVC ViewStartviewstart[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 Coreangular[C#]Web/MVC/SPA
含 React.js 的 ASP.NET Corereact[C#]Web/MVC/SPA
含 React.js 和 Redux 的 ASP.NET Corereactredux[C#]Web/MVC/SPA
Razor 类库razorclasslib[C#]Web/Razor/库/Razor 类库
ASP.NET Core Web APIwebapi[C#],F#Web/WebAPI
global.json 文件globaljson 配置
NuGet 配置nugetconfig 配置
Web 配置webconfig 配置
解决方案文件sln 解决方案

 

转载于:https://www.cnblogs.com/dreign/p/11427963.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值