Nerdbank.GitVersioning
StyleCopAnalyzers
Nerdbank.GitVersioning | StyleCopAnalyzers | |
---|---|---|
7 | 29 | |
1,297 | 2,582 | |
1.0% | 0.7% | |
8.3 | 8.7 | |
1 day ago | 4 days ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Nerdbank.GitVersioning
-
How to set up automatic versioning
i have been using Nerdbank GitVersioing https://github.com/dotnet/Nerdbank.GitVersioning
-
Question on detection multiple path changes
The https://github.com/Azure/ResourceModules repo (which I recommend strongly, if you are just starting with template specs/bicep modules) seems to be at least referencing https://github.com/dotnet/Nerdbank.GitVersioning though when I peeked at their pipelines I'm not sure if they are actually utilizing it for version numbers. For me it was a bit too complex approach, but might suit you.
-
CI/CD for .net 6, using GitHub actions
So, is there a complexity with delivering a NuGet package? Yes. NuGet package versioning can be a big undertaking when it comes to manual deployments, much less CD; as there is a requirement of NuGet packages being immutable. Does this mean that for every check in, on every potential branch that will be pushed to NuGet, you need to update some text file or code to indicate the next built version? That was my initial thinking, but thankfully that is not the case with the help of Nerdbank.GitVersioning.
-
Automatic .NET Versioning Tool
I would suggest you compare with the readme on https://github.com/dotnet/Nerdbank.GitVersioning (FD: this is what I use for versioning my projects, so I'm already very familiar with it), which has most of the details up front (i.e. I don't have to go browsing through multiple wiki pages). It clearly calls out: - What does the package accomplish? (it adds semver information based on git history) - What is it compatible with? ("[dotnet] assemblies, VSIX, NuGet, NPM, and more") - What sets it apart? (#1: every commit generates a unique version, and builds reproducibility is prioritized. #2-4: everything is automatic.) - Further down it talks about how it calculates versions, and how to calculate between versions and git commits (i.e. how does the automatic part work)
-
What is the “standard” method of versioning your applications?
GitVersioning. Auto-increments based on commit. Integrates into your build and automatically adds AssemblyInfo. https://github.com/dotnet/Nerdbank.GitVersioning
- Best practices for versioning in Release Pipelines
-
Run EF Core Queries on SQL Server From Blazor WebAssembly
How to adopt a versioning strategy using tools like Nerdbank GitVersion
StyleCopAnalyzers
-
StyleCopAnalyzers VS Metalama - a user suggested alternative
2 projects | 7 Dec 2023
-
Optimizing C# code analysis for quicker .NET compilation
Several well-known NuGet packages such as xUnit.net, FluentAssertions, StyleCop, Entity Framework Core, and others include by default a significant number of Roslyn analyzers. They help you adhere to the conventions and best practices of these libraries.
-
Enhancing Your Open-Source Project with Static Analysis Tools
I created a StyleCopAnalysers.ruleset file at the root of my project, which contains the ruleset for analysis. The tool not only identifies issues but also attempts to fix them, providing a log of any unresolved problems. In addition to running the analyzer upon build, the dotnet format command also runs any external analyzers that it detects by default as well.
-
What C# feature blew your mind when you learned it?
https://github.com/DotNetAnalyzers/StyleCopAnalyzers the successor to stylecop - most of the rules ported over
-
Code Styling should be enforced by default
I'm a C# guy, so that is what I care about. For .NET we do have StyleCop analyzers. And EditorConfig exists to help at the IDE level across all languages. And git itself can be configured with such things as eol and autoclrf.
-
Dotnet Format
I'd also like to know how to clean up based on rules like SA1507 - never more than one blank line in a row, and related rules to remove blank likes after { and before }
-
C# finding wasted instantiations
StyleCop is from Microsoft: https://github.com/DotNetAnalyzers/StyleCopAnalyzers
-
Using Roslyn Analyzers for static code analysis
Using their own APIs, Roslyn Analyzers verifies certain conditions about the source code and, if necessary, feeds back into the compiler in the form of compilation warnings and errors. An example would be StyleCop.
-
What NuGet packages do you automatically add
StyleCop.Analyzers
-
Which linters are you using for CI environments?
- StyleCopAnalyzers but I wasn't able to find an official CLI tool?
What are some alternatives?
Versioning.NET - A dotnet tool that automatically increments versions in csproj files based on git commit hints.
Roslynator - Roslynator is a set of code analysis tools for C#, powered by Roslyn.
minver - 🏷 Minimalistic versioning using Git tags.
csharpier - CSharpier is an opinionated code formatter for c#.
AspNetCore.Docs - Documentation for ASP.NET Core
omnisharp-roslyn - OmniSharp server (HTTP, STDIO) based on Roslyn workspaces
Verlite - Automatically version projects via semantic git tags with a focus on being lite, optimized for continuous delivery.
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
dotnet-setversion - .NET Core CLI tool to update the version information in .NET Core *.csproj files
format - Home for the dotnet-format command
ExpressionPowerTools - Power tools for working with IQueryable and Expression trees.
codeformatter - Tool that uses Roslyn to automatically rewrite the source to follow our coding styles