Пример #1
0
        public override void LoadExternalDependencies(
            Assembly loadedAssembly,
            AssemblyDependency [] externalDependencies)
        {
            if (externalDependencies == null)
            {
                return;
            }

            // We can't do anything until we've loaded the assembly, because we need
            // to insert things specifically into its DllMap.
            if (loadedAssembly == null)
            {
                return;
            }

            foreach (var externalDep in externalDependencies)
            {
                try {
                    Log.Debug(TAG, $"Loading external dependency from {externalDep.Location}…");
                    MonoSupport.AddDllMapEntries(loadedAssembly, externalDep);
                } catch (Exception e) {
                    Log.Error(TAG, "Could not load external dependency.", e);
                }
            }
        }
Пример #2
0
            internal override void LoadExternalDependencies(
                Assembly loadedAssembly,
                IReadOnlyList <AssemblyDependency> externalDependencies)
            {
                if (externalDependencies == null)
                {
                    return;
                }

                // On Mono platforms, we can't do anything until we've loaded the assembly, because we need
                // to insert things specifically into its DllMap.
                if (MacIntegration.IsMac && loadedAssembly == null)
                {
                    return;
                }

                foreach (var externalDep in externalDependencies)
                {
                    try {
                        Log.Debug(TAG, $"Loading external dependency from {externalDep.Location}.");
                        if (MacIntegration.IsMac)
                        {
                            MonoSupport.AddDllMapEntries(loadedAssembly, externalDep);
                        }
                        else
                        {
                            WindowsSupport.LoadLibrary(externalDep.Location);
                        }
                    } catch (Exception e) {
                        Log.Error(TAG, "Could not load external dependency.", e);
                    }
                }
            }