Skip to content

SymbolFinder can't translate framework type symbols if original compilation targets different framework #45404

@genlu

Description

@genlu

For example, compilation c1 targeting net472 and c2 targeting netstandard, and c1 reference c2. If we get type symbol for string from c2 and and want to find its equivalent in c1 via SymbolFinder.FindSimilarSymbols, it will fail because those types are from different assemblies. Here's the symbolkey for both

{1 (D "String" (N "System" 0 (N "" 0 (U (S "netstandard" 4) 3) 2) 1) 0 0 (% 0) 0)}
{1 (D "String"(N "System" 0(N "" 0(U(S "mscorlib" 4) 3) 2) 1) 0 0(% 0) 0)}

Case like this should be handled by SymbolFinder.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions