internal static FabricWorkerEntryPoint CreateFromAssemblyDescription(DllHostHostedDllDescription hostedDllDescription) { Debug.Assert(hostedDllDescription.Kind == DllHostHostedDllKind.Managed, "Kind must be ManagedAssembly"); var assemblyDescription = (DllHostHostedManagedDllDescription)hostedDllDescription; FabricWorkerEntryPoint entryPoint = FabricWorkerEntryPoint.CreateFromAssemblyName(assemblyDescription.AssemblyName); entryPoint.assemblyDescription = assemblyDescription; return(entryPoint); }
private static FabricWorkerEntryPoint CreateFromAssemblyName(string assemblyName) { Assembly assembly = null; try { assembly = Assembly.Load(new AssemblyName(assemblyName)); } catch (Exception e) { AppTrace.TraceSource.WriteExceptionAsError("FabricWorkerEntryPoint.CreateFromAssemblyName", e, "Failed to load assembly {0}", assemblyName); throw; } Type entryPointType = null; try { entryPointType = FabricWorkerEntryPoint.GetEntryPointTypeFromAssembly(assembly); } catch (Exception e) { AppTrace.TraceSource.WriteExceptionAsError("FabricWorkerEntryPoint.CreateFromAssemblyName", e, "Did not find FabricWorkerEntryPoint in assembly {0}", assemblyName); throw; } try { return((FabricWorkerEntryPoint)Activator.CreateInstance(entryPointType)); } catch (Exception e) { AppTrace.TraceSource.WriteExceptionAsError("FabricWorkerEntryPoint.CreateFromAssemblyName", e, "Did not find FabricWorkerEntryPoint in assembly {0}", assemblyName); throw; } }