void InitialiseWeavers() { foreach (var weaverConfig in Weavers) { if (cancelRequested) { return; } Logger.LogDebug($"Weaver '{weaverConfig.AssemblyPath}'."); Logger.LogDebug(" Initializing weaver"); var assembly = LoadWeaverAssembly(weaverConfig.AssemblyPath); var weaverType = assembly.FindType(weaverConfig.TypeName); var delegateHolder = weaverType.GetDelegateHolderFromCache(); var weaverInstance = delegateHolder(); var weaverHolder = new WeaverHolder { Instance = weaverInstance, Config = weaverConfig }; weaverInstances.Add(weaverHolder); SetProperties(weaverConfig, weaverInstance); } }
WeaverHolder InitialiseWeaver(WeaverEntry weaverConfig) { Logger.LogDebug($"Weaver '{weaverConfig.AssemblyPath}'."); Logger.LogDebug(" Initializing weaver"); var assembly = LoadWeaverAssembly(weaverConfig.AssemblyPath); var weaverType = assembly.FindType(weaverConfig.TypeName); var delegateHolder = weaverType.GetDelegateHolderFromCache(); var weaverInstance = delegateHolder(); var weaverHolder = new WeaverHolder { Instance = weaverInstance, Config = weaverConfig }; if (FodyVersion.WeaverRequiresUpdate(assembly, out var referencedVersion)) { Logger.LogWarning($"Weavers should reference at least the current major version of Fody (version {FodyVersion.Major}). The weaver in {assembly.GetName().Name} references version {referencedVersion}. This may result in incompatibilities at build time such as MissingMethodException being thrown.", "FodyVersionMismatch"); weaverHolder.IsUsingOldFodyVersion = true; } weaverHolder.FodyVersion = referencedVersion; SetProperties(weaverConfig, weaverInstance); return(weaverHolder); }
void InitialiseWeavers(List <WeaverHolder> weaverInstances) { foreach (var weaverConfig in Weavers) { Logger.LogDebug(string.Format("Weaver '{0}'.", weaverConfig.AssemblyPath)); Logger.LogDebug(" Initializing weaver"); var assembly = LoadAssembly(weaverConfig.AssemblyPath); var weaverType = assembly.FindType(weaverConfig.TypeName); var delegateHolder = weaverType.GetDelegateHolderFromCache(); var weaverInstance = delegateHolder.ConstructInstance(); var weaverHolder = new WeaverHolder { Instance = weaverInstance, WeaverDelegate = delegateHolder, Config = weaverConfig }; weaverInstances.Add(weaverHolder); SetProperties(weaverConfig, weaverInstance, delegateHolder); } }
void InitialiseWeavers(List<WeaverHolder> weaverInstances) { foreach (var weaverConfig in Weavers) { Logger.LogInfo(string.Format("Weaver '{0}'.", weaverConfig.AssemblyPath)); Logger.LogInfo("\tInitializing weaver"); var assembly = LoadAssembly(weaverConfig.AssemblyPath); var weaverType = assembly.FindType(weaverConfig.TypeName); var delegateHolder = weaverType.GetDelegateHolderFromCache(); var weaverInstance = delegateHolder.ConstructInstance(); var weaverHolder = new WeaverHolder { Instance = weaverInstance, WeaverDelegate = delegateHolder, Config = weaverConfig }; weaverInstances.Add(weaverHolder); SetProperties(weaverConfig, weaverInstance, delegateHolder); } }
void InitialiseWeavers() { foreach (var weaverConfig in Weavers) { if (cancelRequested) { return; } Logger.LogDebug($"Weaver '{weaverConfig.AssemblyPath}'."); Logger.LogDebug(" Initializing weaver"); var assembly = LoadAssembly(weaverConfig.AssemblyPath); var weaverType = assembly.FindType(weaverConfig.TypeName); var delegateHolder = weaverType.GetDelegateHolderFromCache(); var weaverInstance = delegateHolder.ConstructInstance(); var weaverHolder = new WeaverHolder { Instance = weaverInstance, WeaverDelegate = delegateHolder, Config = weaverConfig }; weaverInstances.Add(weaverHolder); SetProperties(weaverConfig, weaverInstance, delegateHolder); } }