dotnet-drama 1.0.0
dotnet tool install --global dotnet-drama --version 1.0.0
此软件包包含一个可以从 shell/命令行调用的 .NET 工具。
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-drama --version 1.0.0
此软件包包含一个可以从 shell/命令行调用的 .NET 工具。
#tool dotnet:?package=dotnet-drama&version=1.0.0
NuGet 团队不提供对此客户端的支持。请联系其 维护人员 以获得支持。
nuke :add-package dotnet-drama --version 1.0.0
NuGet 团队不提供对此客户端的支持。请联系其 维护人员 以获得支持。
dotnet-drama
这是什么?
该工具报告自 .NET 社区有争议以来已过去了多少天。
为什么?
因为有争议的地方就有喜剧。
如何
- 安装
dotnet tool install -g dotnet-drama
- 然后运行
dotnet-drama
构建
GitHub Actions |
---|
NuGet
软件包 | 稳定版 | 预发布版 |
---|---|---|
dotnet-drama |
开发中
确保您的系统上已安装以下 要求
- dotnet SDK 3.0 或更高版本
- Mono 如果使用 Linux 或 macOS。
或
环境变量
CONFIGURATION
将设置 dotnet 命令的 配置。如果未设置,则默认为 Release。CONFIGURATION=Debug ./build.sh
的结果将在类似dotnet build -c Debug
的命令中添加-c
附加项
GITHUB_TOKEN
将用于上传发布说明和 Nuget 软件包到 GitHub。- 确保在发布前设置此变量
DISABLE_COVERAGE
将禁用运行代码覆盖率指标。AltCover 可能会导致 严重的性能下降,所以在希望快速反馈循环时可以考虑禁用。DISABLE_COVERAGE=1 ./build.sh
构建
> build.cmd <optional buildtarget> // on windows
$ ./build.sh <optional buildtarget>// on unix
您的库的 bin 目录应类似于
$ tree src/MyCoolNewLib/bin/
src/MyCoolNewLib/bin/
└── Debug
└── net50
├── MyCoolNewLib.deps.json
├── MyCoolNewLib.dll
├── MyCoolNewLib.pdb
└── MyCoolNewLib.xml
构建目标
清洁
- 清理工件和临时目录。DotnetRestore
- 在 解决方案文件 上运行 dotnet restore。DotnetBuild
- 在 解决方案文件 上运行 dotnet build。DotnetTest
- 在解决方案文件上运行dotnet test。GenerateCoverageReport
- 在DotnetTest
期间运行代码覆盖率并生成ReportGenerator报告。WatchTests
- 使用测试项目运行dotnet watch,可用于快速反馈循环。GenerateAssemblyInfo
- 为库生成AssemblyInfo。DotnetPack
- 运行dotnet pack,包括运行Source Link。SourceLinkTest
- 运行源链测试工具以验证源链接是否正确生成。PublishToNuGet
- 通过paket push将DotnetPack
生成的NuGet包发布到NuGet。GitRelease
- 使用发布说明和git标签创建提交信息,标签通过发布说明中的版本生成。GitHubRelease
- 发布带有发布说明和任何NuGet包的GitHub 发布。FormatCode
- 在解决方案文件上运行Fantomas。BuildDocs
- 从docsSrc
和库中的XML文档注释生成文档。WatchDocs
- 生成文档并启动本地web服务器。如果检测到对docsSrc
文件、src
中的库或docsTool
本身的任何更改,则将重建和热重载。ReleaseDocs
- 将在BuildDocs
目标中生成的文档发布的版本进行预发布、提交和推送。Release
- 运行所有发布类型任务(如PublishToNuGet
、GitRelease
、ReleaseDocs
和GitHubRelease
)的任务。请确保正确设置您的发布环境以运行发布。
发布
git add .
git commit -m "Scaffold"
git remote add origin https://github.com/user/MyCoolNewLib.git
git push -u origin master
-
paket config add-token "https://nuget.net.cn" 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
- 或将环境变量
NUGET_TOKEN
设置为你的密钥
- 或将环境变量
-
- 然后设置环境变量
GITHUB_TOKEN
来上传发布说明和存档到github - 否则它将回退到用户名/密码
- 然后设置环境变量
然后更新
CHANGELOG.md
,其中包含该版本的发布说明,格式为KeepAChangelog。
注意:强烈推荐在受影响的发布说明旁边添加一个指向拉取请求的链接。原因在于当运行 RELEASE
目标时,它将这些新说明添加到git提交的消息体中。GitHub会注意到这些链接,并将拉取请求更新为引用了它的提交,例如:"添加了一个引用此拉取请求的提交"。由于构建脚本自动化提交消息,它会说“将版本提升到x.y.z”。这种做法的好处是,当用户访问拉取请求时,可以清楚地看到哪些代码更改和哪个版本一起发布。另外,当阅读 CHANGELOG
时,如果有人对为何要做出这些更改感到好奇,他们可以轻松地发现工作和讨论。
以下是如何在已发布 0.1.0
版本的 CHANGELOG.md
中添加一个“未发布”部分的示例。
## [Unreleased]
### Added
- Does cool stuff!
### Fixed
- Fixes that silly oversight
## [0.1.0] - 2017-03-17
First release
### Added
- This release already has lots of features
[Unreleased]: https://github.com/user/MyCoolNewLib.git/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/user/MyCoolNewLib.git/releases/tag/v0.1.0
- 然后,你可以使用
Release
目标,指定版本号,可以通过RELEASE_VERSION
环境变量,或者作为目标名称后面的参数。- 这会更新
CHANGELOG.md
,将更改从未发布
部分移动到一个新的0.2.0
部分。- 如果change log中有0.2.0的任何预发布版本,它也会将这些更改收集到最终的0.2.0条目中。
- 创建一个提交以提升版本:
将版本升级到0.2.0
并将新的变更日志部分添加到提交的消息体中。 - 将软件包发布到NuGet。
- 推送一个git标签。
- 为该git标签创建一个GitHub发行版。
- 这会更新
macOS/Linux 参数
./build.sh Release 0.2.0
macOS/Linux 环境变量
RELEASE_VERSION=0.2.0 ./build.sh Release
产品 | 版本 兼容的和额外计算的target框架版本。 |
---|---|
.NET | net5.0 兼容。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
此包没有依赖项。
## [1.0.0] - 2021-10-23
[1.0.0]: https://github.com/TheAngryByrd/dotnet-drama/compare/v0.1.1...v1.0.0
### 更改
- 命令名称更改为 `dotnet-drama`