CodeTiger.CodeAnalysis 1.0.1-beta02

General purpose Roslyn-based static code analysis rules for C#.

While not intended to be an exact replacement for StyleCop, many of the individual diagnostics are similar to StyleCop rules.

This is a prerelease version of CodeTiger.CodeAnalysis.

Requires NuGet 2.8 or higher.

Install-Package CodeTiger.CodeAnalysis -Version 1.0.1-beta02
dotnet add package CodeTiger.CodeAnalysis --version 1.0.1-beta02
<PackageReference Include="CodeTiger.CodeAnalysis" Version="1.0.1-beta02">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CodeTiger.CodeAnalysis --version 1.0.1-beta02
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Changes for 1.0.1:
-Changed filename analysis to allow underscores for generic type argument separators and suffixes (such as `Tests`) after those separators.
-Added a resource file for localizable strings.
-Lots of minor internal code cleanup.

Changes for 1.0.0:
-Fixed InheritedMemberDesignAnalyzer to better handle System.Object and generic types.
-Fixed the handling of preprocessor directives by UsingDirectiveOrderAnalyzer.
-Fixed SingleLineLayoutAnalyzer to not consider attributes when determining the line span of an element.
-Fixed NonGenericCollectionDesignAnalyzer to better handle field declarations that contain multiple variables.
-Fixed several possible NullReferenceExceptions in ParenthesisLayoutAnalyzer.
-Fixed a bug where CommaLayoutAnalyzer used Count instead of SeparatorCount when analyzing AnonymousObjectCreationExpression nodes.
-Fixed ParenthesisLayoutAnalyzer to not report CT3535 for closing parenthesis after the type in catch clauses that did not include an identifier.
-Fixed CT1727 and CT1728 to consider generic type parameter constraints when determining whether a method returns a Task.
-Fixed CT3505 to not include attributes when determining the line span of an accessor.
-Fixed a false positive of CT3213 with static using directives.
-Fixed a false positive of CT3503 when a property contains expression-bodied accessors.
-Excluded attributes applied to accessors when BraceLayoutAnalyzer determines whether an accessor is single- or multi-line.
-Changed CT3501 to be more permissive with closing braces of multi-line lambdas passed as arguments.
-Changed ThreadingReliabilityAnalyzer to include the accessibility of the objects containing the member being used when determining overall accessibility.
-Changed FileNamingAnalyzer to allow file names that follow the standard format for generic types (e.g. 'List`1.cs').
-Changed BraceLayoutAnalyzer to allow closing curly braces to be followed by where clauses (in a do-while statement), commas, or closing parenthesis.
-Changed CT3503 to not report expression-bodied properties.
-Changed CT3503 to not require default values to be on the same line.
-Changed TypeAliasReadabilityAnalyzer to not check type names in documentation comments.
-Improved handling of verbatim identifiers.
-Added '<developmentDependency>true</developmentDependency>' to CodeTiger.CodeAnalysis.nuspec. Removed System.Collections.Immutable.dll from CodeTiger.CodeAnalysis.nuspec.
-Made several small performance improvements.
-Added CT1730 to identify type names that match the name of the containing namespace.
-Added CT3218 to identify non-static using directives that appear after static using directives.
-Added CT3528 to identify multiple statements on the same line.
-Added CT3529 to identify LINQ queries that have some (but not all) clauses on the same line.
-Added CT3532 to identify opening parenthesis that are not on the same line as the preceding keyword.
-Added CT3533 to identify opening parenthesis that are not on the same line as the preceding identifier.
-Added CT3534 to identify closing parenthesis that are not on the same line as the preceding argument.
-Added CT3535 to identify closing parenthesis that are not on the same line as the preceding element.
-Added CT3536 to identify empty parentheses that are not on the same line.
-Added CT3537 to identify commas that are not on the same line as their preceding element.
-Added CT3538 to identify parameter declarations defined across multiple lines.
-Added CT3539 to identify non-trivial switch section statements that do not begin on a new line.
-Added CT3540 to identify binary operators at the end of a line.

  • .NETStandard 1.3

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.1-beta02 147 2/12/2020
1.0.0 235 3/3/2019
1.0.0-beta05 1,439 4/12/2018
0.8.0 797 9/10/2017
0.3.3 600 2/10/2017
0.3.2-alpha2 321 10/6/2016
0.3.2-alpha 308 10/6/2016
0.3.1-alpha 330 5/14/2016
0.3.0-alpha 499 8/26/2015
0.2.0-alpha1 375 6/20/2015
0.1.0-alpha1 375 4/30/2015