System.Speech: Use intellisense xml from dotnet-api-docs #111983
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #87711
The intellisense file that comes from Microsoft.Private.Intellisense, located in
C:\.tools\.nuget\packages\microsoft.private.intellisense\9.0.0-preview-20241010.1\IntellisenseFiles\net\1033\System.Speech.xml
, weighs 317KB.But when building, the xml files under
C:\Users\calope\source\repos\runtime\artifacts\obj\System.Speech\$(Configuration)\
all weigh much less than that (varies depending on the OS/platform) and only contain resource strings (no actual docs).This means we are using the xmls from the build, and almost none of the System.Speech have triple slash comments. I was able to confirm this by analyzing the binlog and finding that
UseCompilerGeneratedDocXmlFile
is set totrue
(the default value) so none of the logic from intellisense.targets is used.The fix is to set this assembly's
UseCompilerGeneratedDocXmlFile
to explicitly tofalse
in the csproj, exactly as @gewarren found in the original issue.I was able to confirm with a rebuild of the csproj that the xml placed next to the built DLL is now the one coming from dotnet-api-docs: it weighs 317KB and contains all API docs, and can be found in all the target framework folders in the output folder.