MonoGlobalAssemblyCache: faster resolves + resolve facade assemblies (#39369)
* MonoGlobalAssemblyCache: actually read assembly names from assembly files new AssemblyName(path) becomes AssemblyName.GetAssemblyName(path) This fixes the GlobalAssemblyCacheTests when running on Mono. cf. https://github.com/dotnet/roslyn/pull/39369#issuecomment-545970358 * MonoGlobalAssemblyCache: faster resolves + resolve Facades 1. Don't special case mscorlib.dll - we already will have a reference to it, and the changes in (2) allow it to still resolve. Remove GetCorlibPaths. 2. Have GetCacAssemblyPaths bail early if it finds an assembly that lives alongside mscorlib.dll, or in the Facades directory. This These assemblies in Mono are considered "core" and will always symlink directly to the GAC. Resolve facade assemblies as well now. The Mono distribution of csi has shipped with a response file that explicitly referenced Facades/netstandard.dll and Facades/System.Runtime.dll and this change obsoletes that. As a consequence, local builds of csi.exe now work. 3. Minor perf work around converting a public key token to a string by deferring that conversion until only necessary, and use byte.ToString instead of AppendFormat. Also use a PooledStringBuilder. 4. Tuple -> ValueTuple * MetadataShadowwCopyProviderTests: run on Mono
Showing
想要评论请 注册 或 登录