示例#1
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <returns></returns>
        public override bool Execute()
        {
            var logger = new Logger(Log);

            if (File.Exists(TargetAssembly) == false)
            {
                logger.Message($"找不到文件编译输出的程序集{TargetAssembly}");

                return(true);
            }

            logger.Message(GetType().AssemblyQualifiedName);

            try
            {
                using var assembly = new CacheAssembly(TargetAssembly, GetSearchDirectories().Distinct(), logger, true, true);

                assembly.WriteProxyTypes();

                return(true);
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString());

                return(false);
            }
        }
示例#2
0
 public CacheProxyType(CacheAssembly assembly, CacheInterface @interface, FuncHelper helper, IReadOnlyDictionary <string, MethodInfo> cacheHelperMethods)
     : base(assembly)
 {
     _interface          = @interface;
     _helper             = helper;
     _cacheHelperMethods = cacheHelperMethods;
 }
示例#3
0
 public CacheInterface(CacheAssembly assembly, TypeDefinition @interface)
     : base(assembly)
 {
     Type = @interface;
 }
示例#4
0
        protected CacheMetadata(CacheAssembly assembly)
        {
            Module = assembly.MainModule;

            _knowTypes = assembly.KnowTypes;
        }