fix: Add logics to skip non-managed assembly #10692
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.
This PR intended to fix issue #10682
By adding logic to skip non-managed assembly (that returns
falseforPEReader::HasMetadata)PEReaderinstance creation is relatively heavy operation. (It takes 100ms-500ms)So created
PEReaderinstance is passed as argument. and reused for subsequent processing.Note:
referenced native assembly skip logic is not currently implemented.
Because it's rare use case, directly referencing native-assembly (With
<Reference> tan andHintPath`)https://github.com/filzrev/docfx/blob/39c67026fd56cd53c0582740d7a912507dff62ca/src/Docfx.Dotnet/CompilationHelper.cs#L212-L216