Useful C#/.NET tools and libraries
I think it would be useful to list a number of tools and libraries that I use when setting up new services as well as the reference documentation. This may get out of date soon however it will at least give me a reference point to revisit. Some "templates" I've created:
Logging
for json logs, it is particularly useful for logging services like AWS CloudWatch:
Serilog.Enrichers.Sensitive - some protection against PII
Destructurama.Attributed - a more powerful and flexible library, probably at a cost of runtime
HTTP
.NET's
HttpClient
is quite sufficientPolly - HTTP Request retries
It does require a few tweaks with ASP.NET Core HTTP logging
Refer to the above templates
Swagger/Open API
Database
Sometimes ORM (e.g. EF) isn't necessary, for mysql, the MySqlConnector seems quite handy.
Testing
Specflow - deprecated
Static code analysis
SonarQube/Cloud - for code quality, coverage and security
Veracode - security
CodeQL - security
Dependabot - security
Snyk - security
Observability
Microsoft has some new open source tools - read here
There are other built-in support for health checks, resource utilisation monitoring as well that is worth looking into. These now seem to have some integrations with more common open source tools such as Prometheus, Grafana, Kibana etc.
Last updated