private static Assembly LoadFromFabricCodePath(object sender, ResolveEventArgs args) { string assemblyName = new AssemblyName(args.Name).Name; if (!ResolvableAssemblyNames.Contains(assemblyName)) { return(null); } if (CachedAssemblies.ContainsKey(assemblyName)) { return(CachedAssemblies[assemblyName]); } try { string folderPath = FabricEnvironment.GetCodePath(); string assemblyPath = Path.Combine(folderPath, assemblyName + ".dll"); if (File.Exists(assemblyPath)) { CachedAssemblies[assemblyName] = Assembly.LoadFrom(assemblyPath); return(CachedAssemblies[assemblyName]); } } catch (Exception) { // Supress any Exception so that we can continue to // load the assembly through other means } return(null); }
public static Assembly ResolveAssembly(string assemblyName) { if (!KnownDlls.Contains(assemblyName)) { throw new ArgumentException("Unknown fabric assembly name: " + assemblyName, "assemblyName"); } string assemblyPath = Path.Combine(FabricEnvironment.GetCodePath(), assemblyName); return(Assembly.LoadFrom(assemblyPath)); }