.Net 基金會中包含有很多優秀的項目,今天就和筆者一起了解一下其中的一些優秀作品吧。
中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
BenchmarkDotNet
BenchmarkDotNet 是一款功能強大的.Net 基准測試類庫。
概要說明
- 包含標准基准測試所需要的常規操作:為每個基准測試方法生成隔離的項目;自動選擇迭代的次數;自動預熱測試;運行開銷評估;統計數據匯總等等
- 支持以下運行時環境:傳統 .NET Framework、.NET Core (RTM) 和 Mono
- 支持以下編程語言: C#、 F# 和 Visual Basic
- 支持以下操作系統: Windows、 Linux 和 MacOS
- 能夠輕松對比不同環境下的運行效果,例如:
x86
與x64
的對比,LegacyJit
與RyuJit
的對比。詳細可以參看 Jobs - 支持以下報表類型: markdown, csv, html, 普通文本 和 png 格式的圖表.
- 支持高級特性:設置測試基線(Baseline),參數化測試(Params)
- 基於 ETW 事件實現強大的程序診斷支持,詳見 BenchmarkDotNet.Diagnostics.Windows
項目詳情
- 官網地址
- 項目源碼
- 項目許可證: MIT
- NuGet
- 項目聯系人: Andrey Akinshin
相關鏈接
筆者簡評
您的代碼性能更高?來吧,Benchmark 跑一波!
BenchmarkDotNet 提供了進行小范圍代碼性能測試的基礎框架。它已經成為當前 .NetCore 底層開發類庫事實上的基准測試框架。
基於這樣的框架,開發者可以對自己的函數代碼進行基准測試。也可以完成一些有意思的小測試:
英文介紹
BenchmarkDotNet
BenchmarkDotNet is a powerful .NET library for benchmarking.
Summary
- Standard benchmarking routine: generating an isolated project per each benchmark method; auto-selection of iteration amount; warmup; overhead evaluation; statistics calculation; and so on.
- Supported runtimes: Full .NET Framework, .NET Core (RTM), Mono
- Supported languages: C#, F#, and Visual Basic
- Supported OS: Windows, Linux, MacOS
- Easy way to compare different environments (
x86
vsx64
,LegacyJit
vsRyuJit
, and so on; see: Jobs) - Reports: markdown, csv, html, plain text, png plots.
- Advanced features: Baseline, Params
- Powerful diagnostics based on ETW events (see BenchmarkDotNet.Diagnostics.Windows)
Project Details
- Website
- Source
- License: MIT
- NuGet
- Project Lead: Andrey Akinshin
Quicklinks
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。## 中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
Cake
Cake 是一款支持多操作系統的自動化系統,其采用 Roslyn 和 Mono 編輯器進行構建,並采用 C# 作為自動化系統的腳本語言。
項目詳情
- 官網地址
- 項目源碼
- 項目許可證: MIT
- 項目聯系人: Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, and , Jérémie Desautels.
相關鏈接
筆者簡評
隨着 DevOps 相關概念的深入,工程自動化方面的需求越來越多。
實踐已經證明,自動化操作的快樂遠遠不止於一鍵操作的快意,采用自動化框架可以避免很多人工造成的錯誤。
Cake 是一款采用 C# 作為腳本語言的自動化框架。這很特殊,特殊到以至於有種過分耦合的感覺。但這並不妨礙它成為一款功能全面的自動化框架。
它本身是一套組織腳本的框架,因此它類似於 Gradle、Ant、Psake 等等,而並不是類似於 Jenkins、TeamCity 等等。
它很強大,因此如果筆者下一個.Net 項目還需要選型自動化框架的話,我願意選擇 psake 。
英文介紹
Cake
Cake is a cross platform build automation system,
built on top of Roslyn and the Mono Compiler, which uses C# as the scripting language.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: MIT
- Project Main Contacts: Patrik Svensson, Mattias Karlsson, Gary Ewan Park, Alistair Chapman, Martin Björkström, Dave Glick, Pascal Berger, and , Jérémie Desautels.
Quicklinks
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。## 中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
Chemistry Add-in for Word
Chem4Word 使您能夠在 Microsoft Word 中創建化學分子結構。
您不僅能夠繪制自己的分子結構,還能夠從 PubChem 、Opsin 以及另外的 Word 中導入已有的結構。
在最新版本中,您可以在編輯界面上,將分子結構采用 CML 或者 MDL Molfile 格式進行導入或導出。這就使得您可以在其他的文檔中編輯這些結構,方便地共享給其他的用戶或者放入其他的應用程序中。
項目詳情
- 官網地址
- V2 版本源碼
- V3 版本源碼
- V3.1 版本源碼
- 項目許可證: Apache 2.0
- 項目聯系人: Clyde Davies, Mike Williams
相關鏈接
筆者簡評
這是一個基於 Microsoft Word 的插件項目,若開發者需要了解 Word 的插件開發,不妨以該項目作為藍本進行學習。
可能由於過於小眾,截至 2020 年 1 月 19 日 16:36:50 ,這個項目在 Github 上不超過 40 個 Star 。
英文介紹
Chemistry Add-in for Word
Chem4Word enables you to create chemical structures directly in
Microsoft Word. Not only can you draw your own structures, but you can import structures from
PubChem and Opsin as well as from your own files. With the latest version, inside the editor
form, you can export or import your structures as CML or MDL Molfile format.
This will allow you to copy your edited structures to other documents or share them with
other users or applications.
Project Details
- Website
- Version 2 Source Code
- Version 3 Source Code
- Version 3.1 Source Code
- Project License Type: Apache 2.0
- Project Main Contacts: Clyde Davies, Mike Williams
Quicklinks
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。