Skip to content

Instantly share code, notes, and snippets.

@skalahonza
Last active February 5, 2022 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skalahonza/7c6d371d7d928fe56894c6413e30ed7a to your computer and use it in GitHub Desktop.
Save skalahonza/7c6d371d7d928fe56894c6413e30ed7a to your computer and use it in GitHub Desktop.
Set of usefull .NET libraries for various use cases.

.NET libraries

Set of usefull .NET libraries for various use cases.

Common

  • Swashbuckle - swagger
  • System.Linq.Async - IAsyncEnumerable LINQ support
  • Pathoschild.Http.FluentClient - fluent HTTP client
  • Blazorise - UI toolkit for Blazor
  • Microsoft.Extensions.Options - loading configration via dependency injection

Validation

  • Fluent Validation
  • Dawn.Guard

Testing

  • xUnit
  • Fluent Assertions
  • MOQ

Mapping

  • Automapper
  • Mapster - ProjectToType does not work for Mongo or EF with complex nested types

Databases

  • Entity Framework
  • MongoDB.Driver
  • System.Linq.Dynamic.Core - build LINQ even with string column names (useful for multi column sorting)

Logging

  • Serilog - one log source (ILogger) and multiple targets (console, file, logstash, you name it...)

Dependency Injection

  • Scrutor
  • Microsoft.Extensions.Http
  • Microsoft.Extensions.Caching.Memory
  • Microsoft.Extensions.Configuration.UserSecrets
  • Microsoft.Extensions.Options.DataAnnotations

Security

  • AspNet.Core Identity
  • Otp.NET
  • AspNetCore.Identity.Mongo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment