Microsoft.Azure.WebJobs.Script.Description.PackageAssemblyResolver.TryResolveAssembly C# (CSharp) Method

TryResolveAssembly() public method

public TryResolveAssembly ( string name, string &path ) : bool
name string
path string
return bool
        public bool TryResolveAssembly(string name, out string path)
        {
            path = null;
            var assemblyName = new AssemblyName(name);

            foreach (var package in _packages)
            {
                if (package.Assemblies.TryGetValue(assemblyName, out path) ||
                    package.FrameworkAssemblies.TryGetValue(assemblyName, out path))
                {
                    break;
                }
            }

            return path != null;
        }
    }

Usage Example

Example #1
0
        public Assembly ResolveAssembly(string assemblyName)
        {
            Assembly assembly     = null;
            string   assemblyPath = null;

            if (_externalReferences.TryGetValue(assemblyName, out assemblyPath))
            {
                // When loading shared assemblies, load into the load-from context and load assembly dependencies
                assembly = Assembly.LoadFrom(assemblyPath);
            }
            else if (TryResolvePrivateAssembly(assemblyName, out assemblyPath))
            {
                assembly = Assembly.Load(File.ReadAllBytes(assemblyPath));
                assembly.MapCodeBase(assemblyPath);
            }
            else if (_packageAssemblyResolver.TryResolveAssembly(assemblyName, out assemblyPath))
            {
                // Use LoadFile here to load into the correct context
                assembly = Assembly.LoadFile(assemblyPath);
            }
            else if (_extensionSharedAssemblyProvider.TryResolveAssembly(assemblyName, out assembly))
            {
                return(assembly);
            }

            return(assembly);
        }
All Usage Examples Of Microsoft.Azure.WebJobs.Script.Description.PackageAssemblyResolver::TryResolveAssembly