// Gets the required assembly references of @assembly that needs resolution. // By required, we mean assemblies that is not provided by runtime (.net, mono, etc) or the JointCode.AddIns.dll itself. // By default it refers to the GAC assemblies. public bool TryGetRequiredAssemblyReferences(ResolutionResult resolutionResult, AssemblyResolution assembly, out List <AssemblyResolutionSet> result) { var assemblyKeys = assembly.GetRequiredAssemblyReferences(); if (assemblyKeys == null) // get all referenced assemblies that is required. { result = null; return(true); } result = new List <AssemblyResolutionSet>(assemblyKeys.Count); for (int i = 0; i < assemblyKeys.Count; i++) { AssemblyResolutionSet assemblySet; if (_key2AssemblySets.TryGetValue(assemblyKeys[i], out assemblySet)) { result.Add(assemblySet); } else { resolutionResult.AddError("!!!!!!!!!!!"); return(false); } } return(true); }
// get assembly references of @assembly that requires resolution at the runtime, which is not provided runtime or application itself. public bool TryGetRequiredAssemblyReferences(IMessageDialog dialog, AssemblyResolution assembly, out List <AssemblyResolutionSet> result) { var assemblyKeys = assembly.GetRequiredAssemblyReferences(); if (assemblyKeys == null) // all referenced assemblies are provided by runtime or application itself. { result = null; return(true); } result = new List <AssemblyResolutionSet>(assemblyKeys.Count); for (int i = 0; i < assemblyKeys.Count; i++) { AssemblyResolutionSet assemblySet; if (_key2AssemblySets.TryGetValue(assemblyKeys[i], out assemblySet)) { result.Add(assemblySet); } else { dialog.AddError(""); return(false); } } return(true); }