public static void Install()

in src/Microsoft.VisualStudio.VsixInstaller.Shared/Installer.cs [26:75]


        public static void Install(IEnumerable<string> vsixFiles, string installationPath, string rootSuffix)
        {
            AppDomain.CurrentDomain.AssemblyResolve += HandleAssemblyResolve;

            try
            {
                InstallImpl(vsixFiles, rootSuffix, installationPath);
            }
            finally
            {
                AppDomain.CurrentDomain.AssemblyResolve -= HandleAssemblyResolve;
            }

            return;

            Assembly? HandleAssemblyResolve(object sender, ResolveEventArgs args)
            {
                string path = Path.Combine(installationPath, @"Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.Threading.17.x", new AssemblyName(args.Name).Name + ".dll");
                if (File.Exists(path))
                {
                    return Assembly.LoadFrom(path);
                }

                path = Path.Combine(installationPath, @"Common7\IDE\PrivateAssemblies\Newtonsoft.Json.13.0.1.0", new AssemblyName(args.Name).Name + ".dll");
                if (File.Exists(path))
                {
                    return Assembly.LoadFrom(path);
                }

                path = Path.Combine(installationPath, @"Common7\IDE\PrivateAssemblies", new AssemblyName(args.Name).Name + ".dll");
                if (File.Exists(path))
                {
                    return Assembly.LoadFrom(path);
                }

                path = Path.Combine(installationPath, @"Common7\IDE", new AssemblyName(args.Name).Name + ".dll");
                if (File.Exists(path))
                {
                    return Assembly.LoadFrom(path);
                }

                path = Path.Combine(installationPath, @"Common7\IDE\PublicAssemblies", new AssemblyName(args.Name).Name + ".dll");
                if (File.Exists(path))
                {
                    return Assembly.LoadFrom(path);
                }

                return null;
            }
        }