dotnet / dotnet/docfx

[Bug] `PublicApiContractTest` fails to output public API information for some assemblies

Open
#10,238 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.4k
Forks
890
Avg merge
2h 11m
Merged PRs (30d)
10

Description

**Describe the bug**
[PublicApiContractTest.cs](https://github.com/dotnet/docfx/blob/main/test/docfx.Tests/PublicApiContractTest.cs) generate [Api.verified.cs](https://github.com/dotnet/docfx/blob/main/test/docfx.Tests/Api.verified.cs) file that describe public API metadata.

But it seems some assembly's public APIs information are not exposed.

**List of assemblies that is not outputted API metadata`**

- Docfx.Build.RestApi
- Docfx.Build.TagLevelRestApi
- Docfx.Build.UniversalReference
- Docfx.DataContracts.RestApi
- Docfx.DataContracts.UniversalReference
- Docfx.DataContracts.OperationLevelRestApi

It seems assembly reference is removed when type is not actually used inside dlls.
So It's required to load these assemblies manually before calling `GetReferencedAssemblies`.

**Expected behavior**
All public API contracts are outputted

**Additional context**
Add any other context about the problem here.

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.