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.