Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 5
0
    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);
        }
    }