dotnet / dotnet/docs

Document compiler-inputs, source-parsing, and assembly/metadata diagnostics

Open
#55,924 0 comments 0 reactions 1 assignee Claimed by @BillWagner View on GitHub
:pushpin: seQUESTered csharp-diagnostics/subsvc dotnet-csharp/svc
Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
15h 21m
Merged PRs (30d)
370

Description

This is the remaining deferred mixed C# 7.x diagnostics bucket—parser recovery, local-function syntax, preprocessor symbol validation, compiler-option validation, and assembly/metadata failures—covering `CS8180`, `CS8190`, `CS8191`, `CS8202`, `CS8205`, `CS8206`, `CS8300`, `CS8301`, `CS8305`, `CS8308`, `CS8309`, `CS8356`, and `CS8357`. None have specific docs coverage yet, and there's an open question: this probably splits into a parser/preprocessor item and a compiler-options/assembly-metadata item.

Resolve that split explicitly as part of this work rather than forcing unrelated diagnostics into one article. Likely homes include `preprocessor-errors.md`, `assembly-references.md`, and a compiler-options troubleshooting article. Verify whether `CS8190`/`CS8191` belong in end-user docs at all, or are better scoped as Roslyn API/option-validation diagnostics. Confirm `CS8205` against Roslyn history before writing any public guidance for it (it's commented out in current `ErrorCode.cs`)—don't document it speculatively.

Two codes are too non-obvious from the name alone to skip inline text: `CS8206` ("Module '{0}' in assembly '{1}' is forwarding the type '{2}' to multiple assemblies") covers conflicting type-forwarding declarations, and `CS8305` ("'{0}' is for evaluation purposes only and is subject to change or removal in future updates") is the generic experimental-API warning, not something Windows-specific despite its internal name. The remaining ten codes can stay as bare codes for now. Remove each code from the catch-all file once it has a permanent home.

Done when every code has a durable outcome (specific coverage or a documented exclusion rationale) and the catch-all no longer owns any in-scope code.

---
[Associated WorkItem - 632366](https://dev.azure.com/msft-skilling/Content/_workitems/edit/632366)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.