iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Typographic punctuation can slip into a repository through copied text, documentation workflows, word processors, or AI-generated material. A small Roslyn analyzer offers a practical response: flag selected characters so a team can review them and decide what its project accepts. That is a visibility rule, not proof that AI introduced any particular character—and not a ban on Unicode.
The project’s author, Carsten Riedel, described the motivation in a DEV Community post indexed by an aggregator. The post itself was not retrievable for independent review; the package and its README document what the analyzer is designed to check.
What problem does the analyzer address?
ASCII punctuation and typographic punctuation can look similar in code review while being different characters. For example, a straight apostrophe and a curly apostrophe may appear in a string or comment, but only the latter is among the analyzer’s documented targets. A configured diagnostic makes these less-obvious characters visible during development or build checks.
The package documentation frames the distinction this way: “Compilers do not care. Reviewers do.” That is a rationale for a review aid, not evidence that every typographic character causes a defect. The useful question is whether a project wants selected punctuation to be consistent or easy to spot.
#1 Best Overall
Which characters and files can it check?
Documented character diagnostics
| Diagnostic | Character or category |
|---|---|
| CTYED001 | En dash (U+2013) and em dash (U+2014) |
| CTYQM001 | Typographic quotation marks, including curly quotes and guillemets |
| CTYAP001 | Typographic apostrophe / closing single quotation mark (U+2019) |
| CTYEL001 | Horizontal ellipsis (U+2026) |
| CTYMN001 | Minus sign (U+2212) |
The package documentation says ordinary ASCII hyphens, straight quotes, apostrophes, and periods are left alone. The scope is these documented punctuation categories, not Unicode generally.
Source code and additional files
C# syntax trees are in scope. The analyzer can also scan matching files beneath the project directory as MSBuild AdditionalFiles, allowing diagnostics for those files to correspond between Visual Studio and a build. This can extend checks beyond C# source, but only to files covered by the project’s additional-file configuration.
Rank #2
How does a team control the findings?
Choose diagnostic severity
Each analyzer’s severity can be configured as warning, error, message, or off; warning is the documented default. A warning surfaces a finding without inherently making it a build failure. An error makes the policy stricter, while message or off can reduce or disable enforcement for a diagnostic.
Free tools Windows power users keep installed
One-click scans. No signup required.
Set additional-file coverage
MSBuild include and exclude globs control which additional files are scanned. The README distinguishes Excludes, which replaces the default exclusion list, from AdditionalExcludes, which adds patterns to that list. The README says bin, obj, .git, and .vs are always excluded from additional-file scanning.
Rank #3
- Used Book in Good Condition
That distinction matters when narrowing a scan: replacing defaults can change coverage in ways that simply adding one more exclusion does not. Review the project’s effective patterns alongside the files it intends to police.
When is this a useful repository guardrail?
The analyzer is most relevant when a team wants selected punctuation to be visible in review, including in project files beyond C# source, and wants configuration over file coverage and severity. It can also formalize a lightweight style preference without treating every Unicode character as an issue.
Rank #4
It is less compelling if the project has no concern about these characters, or if the desired policy covers files or character classes the documented analyzer does not scan. Before making findings build errors, teams should decide whether the rule is a hard compatibility or consistency requirement, or simply a prompt for reviewer judgment.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Use it when selected punctuation should be easy to find in source or configured additional files.
- Choose per-diagnostic severity to match the consequence: notice, warning, error, or no finding.
- Check include and exclude patterns against the project’s actual file layout.
- Do not interpret a finding as evidence of how the character entered the repository.
Package status and project links
The NuGet Gallery listed Coree.Analyzers.Typography version 1.0.0.3 as an initial release dated September 19, 2026, when accessed October 7, 2026. It listed an MIT license, no package dependencies, and no supported framework assets. The package is described as a development dependency with analyzer/build assets. These are dated listing details, so check the current package page for later changes.
Package details and installation information are on the NuGet Gallery page; configuration and project documentation are in the maintainer’s GitHub repository.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

