[TOC]
Sprache
superpower
Pidgin 作者是Stackoverflow的员工,做为Sprache的后继者,从性能和功能上有一些改进,但是可能诞生较晚,知名度不如Sprache.
fparsec F#
https://github.com/dotnet-state-machine/stateless
https://github.com/ZenLulz/MemorySharp
https://github.com/SixLabors/ImageSharp
https://github.com/JimBobSquarePants/ImageProcessor
https://github.com/mono/SkiaSharp
https://github.com/kleisauke/net-vips
官网地址:https://docs.coravel.net/
文档地址:https://fluentscheduler.github.io/
Hangfire
其它
Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire
https://github.com/2881099/FreeScheduler
Javascript Interpreter js解释器
https://github.com/sebastienros/jint
go 的js解释器
https://github.com/robertkrimen/otto
https://github.com/madskristensen/BundlerMinifier
https://www.cnblogs.com/zglblogs/p/13127578.html
前端就有了对 headless 浏览器的需求,最多的应用场景有两个
也就有了很多杰出的实现,前端经常使用的莫过于 PhantomJS 和 selenium-webdriver,但两个库有一个共性——难用!环境安装复杂,API 调用不友好,1027 年 Chrome 团队连续放了两个大招 Headless Chrome 和对应的 NodeJS API Puppeteer,直接让 PhantomJS 和 Selenium IDE for Firefox 作者宣布没必要继续维护其产品.
js和c#,python的selenium-webdriver
js的PhantomJS
Headless Chrome
NodeJS API Puppeteer
unofficial port of puppeteer
puppeteer-sharp
PuppeteerSharp 扩展
iTextSharp、PDFsharp、Aspose.PDF
https://github.com/QuestPDF/QuestPDF
Colorful Console
http://colorfulconsole.com/
Colorful.Console还允许我们使用FIGlet字体编写带颜色的ASCII码输出
FIGLet: http://www.figlet.org/
https://github.com/structurizr/dotnet
https://github.com/sidristij/dotnetbook
Microsoft.Diagnostics.Runtime is a set of APIs for introspecting processes and dumps.
https://github.com/microsoft/clrmd
对所有程序都有效果,不仅仅是.NET 程序
regedit.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
DumpFolder
类型为 REG_EXPAND_SZ
用于配置存放 Dump 文件的目录DumpCount
类型为 REG_DWORD
配置 Dump 的总数量New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting" -Name "LocalDumps"
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Value "%LOCALAPPDATA%\CrashDumps" -PropertyType ExpandString
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Value 10 -PropertyType DWord
按照上面的配置,如果程序发生了异常退出,那么就会在%LOCALAPPDATA%\CrashDumps
目录创建程序的 Dump。
https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/botr/xplat-minidump-generation.md
https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnetcore/practice-troubleshoot-linux/lab-1-3-capture-core-crash-dumps
对于这些环境变量,.NET 7 标准化前缀 DOTNET_,而不是 COMPlus_。但是,COMPlus_ 前缀仍将继续正常工作。如果使用的是早期版本的 .NET 运行时,则环境变量仍应该使用 COMPlus_ 前缀。
关于DOTNET_DbgMiniDumpType的说明如下所示:
1: Mini 小型 Dump,其中包含模块列表、线程列表、异常信息和所有堆栈。
2: Heap 大型且相对全面的 Dump,其中包含模块列表、线程列表、所有堆栈、异常信息、句柄信息和除映射图像以外的所有内存。
3: Triage 与 Mini 相同,但会删除个人用户信息,如路径和密码。
4: Full 最大的转储,包含所有内存(包括模块映像)。
参考环境变量配置:
DOTNET_DbgEnableMiniDump = 1
DOTNET_DbgMiniDumpName = [有权限的Path目录] # "G:\Temp\dotnet\Debug\dump.dmp"
DOTNET_CreateDumpDiagnostics = 1
DOTNET_EnableCrashReport = 1
A source code analyzer built for surfacing features of interest and other characteristics to answer the question 'what's in it' using static analysis with a json based rules engine. Ideal for scanning components before use or detecting feature level changes.
https://github.com/microsoft/ApplicationInspector
https://github.com/microsoft/MixedReality-WebRTC
Fody
Castle
Emit 操作IL
NET Remoting中可以利用后门进行拦截,但是必须显示的继承ContextBoundObject
PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries
https://github.com/VahidN/PdfReport.Core
https://github.com/egonl/SharpDocx
https://github.com/chmorgan/packetnet
https://github.com/dotnetcore/FlubuCore
https://github.com/Tyrrrz/CliWrap
https://github.com/oqtane/oqtane.framework
https://github.com/enkodellc/blazorboilerplate
https://github.com/sps014/BlazorML5
emoji
https://github.com/abock/dotnet-ecoji
YARP https://github.com/microsoft/reverse-proxy
https://github.com/proxykit/ProxyKit
https://www.eziriz.com/reactor_download.htm
新的路由框架,类似gin路由
https://github.com/CarterCommunity/Carter
https://github.com/MichalStrehovsky/bflat
https://github.com/loresoft/Calculator
https://github.com/mariuszgromada/MathParser.org-mXparser
https://github.com/oxyplot/oxyplot
https://github.com/tewuapple/WinHtmlEditor
https://github.com/yhuse/SunnyUI
https://github.com/Live-Charts/Live-Charts
https://gitee.com/hapgaoyi/CSharpSkin
https://github.com/kwwwvagaa/NetWinformControl
https://github.com/NetDimension/NanUI/
https://github.com/IgnaceMaes/MaterialSkin
https://github.com/Raiffeisen-DGTL/ViennaNET
https://github.com/jamesmh/coravel
https://github.com/ravibpatel/AutoUpdater.NET
https://github.com/iccfish/FSLib.App.SimpleUpdater
https://github.com/axuno/SmartFormat
var s = Smart.Format("{Model.Name} is {Session.Name2}", new { Model =new { Name = "na1", Name2 = "King1" }, Session = new { Name = "na2", Name2 = "King2" } });
var s = Smart.Format("{0.Name} is {1.Name2}", new { Name = "na1", Name2 = "King1" }, new { Name = "na2", Name2 = "King2" });
https://github.com/axuno/SmartFormat/wiki/Data-Sources
Using a Dictionary(性能更好,前面是需要反射)
Smart.Default.Settings.Formatter.ErrorAction = FormatErrorAction.Ignore; //忽略错误;
Smart.Default.OnFormattingFailure += (sender, args) => {
Console.WriteLine(args.Placeholder); // 打印错误占位符;
};
Smart.Default.Settings.CaseSensitivity = CaseSensitivityType.CaseInsensitive;// 忽略大小写;
{
var s = Smart.Format("{Key} is {Value:was on|will be on}", new Dictionary<string, string>() { { "Key", "站点" } });
Console.WriteLine(s);
}
{
var s = Smart.Format("{Key} is {Value:was on|will be on}", new Dictionary<string, string>() { { "Key", "站点" }, { "Value", "" } });
Console.WriteLine(s);
}
{
var s = Smart.Format("{Key} is {Value:was on|will be on}", new Dictionary<string, string>() { { "Key", "站点" }, { "Value", "站点2" } });
Console.WriteLine(s);
}
{
var s = Smart.Format("{Key} is {Value}", (new Dictionary<string, string>() { { "Key", "站点" } }, new Dictionary<string, string>() { { "Value", "站点2" } }));
Console.WriteLine(s);
}
OUTPUT:
站点 is
站点 is will be on
站点 is was on
站点 is 站点2
https://docs.microsoft.com/en-us/dotnet/api/system.string.format?view=net-5.0
https://github.com/OrchardCMS/OrchardCore 4.7k
https://github.com/nopSolutions/nopCommerce 5.6k
Everything is a Plugin in .NET
https://github.com/weikio/PluginFramework 166
https://github.com/merken/Prise 172
https://github.com/lamondlu/CoolCat 190
https://github.com/IronLanguages/ironpython3
https://github.com/IronLanguages/ironpython2
https://github.com/IronLanguages/ironruby
https://github.com/fholm/IronJS
Pyjion - A JIT for Python based upon CoreCLR
NumPy aware dynamic Python compiler using LLVM
PeachPie - the PHP compiler and runtime for .NET and .NET Core
http://www.51aspx.com/
http://www.silverlightchina.net/
http://www.chenjiliang.com/
http://www.rainsts.net/
http://tech.ddvip.com/
http://www.ccidnet.com/
http://www.programfan.com/article/article.asp?classid=18
http://bbs.xml.org.cn/index.asp
http://www.ibm.com/developerworks/cn/web/
http://social.microsoft.com/forums/zh-CN/categories/
http://www.studycs.com/html/index.html
http://blog.csdn.net/21aspnet/
http://dotnet.aspx.cc/
https://www.cnblogs.com/myshowtime/p/14315080.html
https://github.com/dotnet-architecture/eShopOnContainers eShopOnContainers是一个示例参考应用程序,演示了Microsoft的基于容器的微服务的各种体系结构模式。
https://github.com/dotnet-architecture/eShopOnWeb eShopOnWeb是一个示例参考应用程序,演示了Microsoft提供支持的单体架构。
https://github.com/dodyg/practical-aspnetcore
https://github.com/jasontaylordev/NorthwindTraders Entity Framework 和CQRS模式的DDD的示例项目
https://github.com/AdaptiveConsulting/ReactiveTraderCloud 实时交易应用程序,展示了反应式编程原理。
https://github.com/vietnam-devs/coolstore-microservices 演示了如何通过Service Mesh来使用Kubernetes。
https://github.com/ivanpaulovich/clean-architecture-manga 一个整洁架构的参考示例项目。
https://github.com/JacekKosciesza/StarWars 一个基于GraphQL的ASP.NET Core Star Wars应用程序。
https://github.com/kgrzybek/sample-dotnet-core-cqrs-api Clean architecture, DDD, CQRS
https://github.com/nopSolutions/nopCommerce
https://github.com/simplcommerce/SimplCommerce
https://github.com/OrchardCMS/OrchardCore
https://github.com/Squidex/squidex squidex是无头CMS和内容管理中心,使用具有OData和CQRS模式的ASP.NET Core构建。
https://github.com/madskristensen/Miniblog.Core
https://github.com/piranhacms/piranha.core
计算方法执行时间
https://github.com/Fody/MethodTimer