.NET code analyzers and code convention settings for Lombiq projects, for Orchard Core and any other .NET and .NET Framework apps. We use these to enforce common standards across all our .NET projects, including e.g. all of our open-source Orchard Core extensions. If you contribute to our open-source projects while using that solution you'll be guided by these rules, too. You can check out a demo video of the project here, and the Orchard Harvest 2023 conference talk about automated QA in Orchard Core here.
There is also support for non-SDK-style .NET Framework projects, as long as they use PackageReference
for their dependencies (in contrast to packages.config).
Some other projects you may be interested in:
We at Lombiq also used this module for the following projects:
Do you want to quickly try out this project and see it in action? Check it out in our Open-Source Orchard Core Extensions full Orchard Core solution and also see our other useful Orchard Core-related open-source projects!
We added and configured analyzers which are widely used and complement each other.
Furthermore, the project also includes an .editorconfig file with additional configuration for compatible editors.
Bug reports, feature requests, comments, questions, code contributions and love letters are warmly welcome. You can send them to us via GitHub issues and pull requests. Please adhere to our open-source guidelines while doing so.
This project is developed by Lombiq Technologies. Commercial-grade support is available through Lombiq.
When publishing a new version of the NuGet package, even if it's just a pre-release, also update the package references under TestSolutions\Lombiq.Analyzers.PackageReferences to the new version. This is necessary to run the tests there.
When a new version of the .NET SDK comes out then to the following:
LangVersion
and AnalysisLevel
elements in the Build.props file to opt in to new language features and analyzers. This does not concern non-SDK-style .NET Framework projects.When adding a new analyzer package, do the following: