Description
When contract analysis is enabled without an OrleansContracts.txt file, ORLEANS0020 is reported but offers no code fix.
The code-fix provider excludes ORLEANS0020 from FixableDiagnosticIds, even though its implementation already contains logic for creating an additional document.
Reproduction
Enable contract analysis in a project containing a grain interface:
<PropertyGroup>
<EnableOrleansContractsAnalyzer>true</EnableOrleansContractsAnalyzer>
</PropertyGroup>
Delete or omit OrleansContracts.txt, then build.
Actual behavior
ORLEANS0020 is reported, but the file must be manually created before the remaining contract code fixes become available.
Expected behavior
Offer a code fix which creates OrleansContracts.txt, preferably populating its deterministic generated header and current contract declarations.
Version
Microsoft Orleans 10.3.0
Description
When contract analysis is enabled without an
OrleansContracts.txtfile,ORLEANS0020is reported but offers no code fix.The code-fix provider excludes
ORLEANS0020fromFixableDiagnosticIds, even though its implementation already contains logic for creating an additional document.Reproduction
Enable contract analysis in a project containing a grain interface:
Delete or omit
OrleansContracts.txt, then build.Actual behavior
ORLEANS0020is reported, but the file must be manually created before the remaining contract code fixes become available.Expected behavior
Offer a code fix which creates
OrleansContracts.txt, preferably populating its deterministic generated header and current contract declarations.Version
Microsoft Orleans 10.3.0