Ejemplo n.º 1
0
        public bool Process(string configFile, out string[] weavedFiles)
        {
            weavedFiles = null;
            try
            {
                //var assembly = Assembly.LoadFile(assemblyFile);
                //var discovery = new PointcutMatcherDiscovery(assembly, namespacePattern, name => Path.GetDirectoryName(name) + @"\aopTemp\" + Path.GetFileName(name));
                //discovery.Process();

                var settings = new XmlCompilerSettings(configFile);
                var disco    = new AttributiveAspectDiscovery(settings);

                var files = new List <string>();
                new AspectCompiler(settings)
                {
                    FileNameTransform = name =>
                    {
                        files.Add(name);
                        return(TargetFileName(name));
                    }
                }.Weave(disco);

                weavedFiles = files.ToArray();
                return(true);
            }
            catch (AggregateException e)
            {
                foreach (var inner in e.InnerExceptions)
                {
                    Console.Error.WriteLine(inner.Message);
                }
                return(false);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
                return(false);
            }
        }
Ejemplo n.º 2
0
        public bool Process(string configFile, TaskLoggingHelper logger, out string[] weavedFiles)
        {
            weavedFiles = null;
            try
            {
                var settings = new XmlCompilerSettings(configFile);
                var disco    = new AttributiveAspectDiscovery(settings);

                var files = new List <string>();
                new AspectCompiler(settings)
                {
                    FileNameTransform = name =>
                    {
                        files.Add(name);
                        return(TargetFileName(name));
                    }
                }.Weave(disco);

                weavedFiles = files.ToArray();
                return(true);
            }
            catch (AggregateException e)
            {
                foreach (var inner in e.InnerExceptions)
                {
                    logger.LogError(inner.Message);
                }

                return(false);
            }
            catch (Exception e)
            {
                logger.LogError(e.Message);
                return(false);
            }
        }