Esempio n. 1
0
        public TemplateServiceConfiguration()
        {
            Activator = new DefaultActivator();
            CompilerServiceFactory =
#if RAZOR4
                new Roslyn.RoslynCompilerServiceFactory();
#else
                new DefaultCompilerServiceFactory();
#endif
            EncodedStringFactory = new HtmlEncodedStringFactory();

#if !RAZOR4
#pragma warning disable 0618 // Backwards Compat.
            CodeInspectors = new List <ICodeInspector>();
#pragma warning restore 0618 // Backwards Compat.
#endif

            ReferenceResolver = new UseCurrentAssembliesReferenceResolver();
            CachingProvider   = new DefaultCachingProvider();
            TemplateManager   =
                new DelegateTemplateManager();

            Namespaces = new HashSet <string>
            {
                "System",
                "System.Collections.Generic",
                "System.Linq"
            };

            var config = RazorEngineConfigurationSection.GetConfiguration();
            Language = (config == null)
                           ? Language.CSharp
                           : config.DefaultLanguage;
        }
Esempio n. 2
0
        /// <inheritdoc />
        public IEnumerable <CompilerReference> GetReferences(
            TypeContext context,
            IEnumerable <CompilerReference> includeAssemblies)
        {
            IEnumerable <string> loadedAssemblies =
                new UseCurrentAssembliesReferenceResolver()
                .GetReferences(context, includeAssemblies)
                .Select(r => r.GetFile())
                .ToArray();

            // All assemblies which can be used inside the templates need to be listed here.
            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "System.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "System.Core.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "netstandard.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "Microsoft.CSharp.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "Newtonsoft.Json.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "Cake.Core.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "Cake.Issues.dll")));

            yield return(CompilerReference.From(this.FindLoaded(loadedAssemblies, "Cake.Issues.Reporting.Generic.dll")));

            yield return(CompilerReference.From(typeof(RazorEngine.Engine).Assembly));
        }
Esempio n. 3
0
        protected CompilerServiceBase(RazorCodeLanguage codeLanguage, ParserBaseCreator markupParserFactory)
        {
            Contract.Requires(codeLanguage != null);

            CodeLanguage        = codeLanguage;
            MarkupParserFactory = markupParserFactory ?? new ParserBaseCreator(null);
            ReferenceResolver   = new UseCurrentAssembliesReferenceResolver();
        }
Esempio n. 4
0
        /// <summary>
        /// Initialises a new instance of <see cref="CompilerServiceBase"/>
        /// </summary>
        /// <param name="codeLanguage">The code language.</param>
        /// <param name="markupParserFactory">The markup parser factory.</param>
        protected CompilerServiceBase(RazorCodeLanguage codeLanguage, Func <ParserBase> markupParserFactory)
        {
            Contract.Requires(codeLanguage != null);

            CodeLanguage        = codeLanguage;
            MarkupParserFactory = markupParserFactory ?? (() => new HtmlMarkupParser());
            ReferenceResolver   = new UseCurrentAssembliesReferenceResolver();
        }
Esempio n. 5
0
    public IEnumerable <CompilerReference> GetReferences(
        TypeContext context,
        IEnumerable <CompilerReference> includeAssemblies = null)
    {
        yield return(CompilerReference.From(this.GetType().Assembly));

        var refs = new UseCurrentAssembliesReferenceResolver()
                   .GetReferences(context, includeAssemblies)
                   .Where(f => !f.GetFile().EndsWith(".winmd"));

        foreach (var r in refs)
        {
            yield return(r);
        }
    }
        public IEnumerable <CompilerReference> GetReferences(TypeContext context, IEnumerable <CompilerReference> includeAssemblies = null)
        {
            var results = new UseCurrentAssembliesReferenceResolver()
                          .GetReferences(context, includeAssemblies)
                          .ToList();

            //添加DataTable的引用
            results.Add(CompilerReference.From(typeof(DataTable).Assembly));
            if (_assembliesToLoad != null)
            {
                foreach (var item in _assembliesToLoad)
                {
                    results.Add(CompilerReference.From(item));
                }
            }
            return(results);
        }
        public IEnumerable <CompilerReference> GetReferences(TypeContext context, IEnumerable <CompilerReference> includeAssemblies = null)
        {
            // If you include mscorlib here the compiler is called with /nostdlib.
            IEnumerable <string> loadedAssemblies = new UseCurrentAssembliesReferenceResolver()
                                                    .GetReferences(context, includeAssemblies)
                                                    .Select(r => r.GetFile())
                                                    .ToArray();

            foreach (var assm in loadedAssemblies)
            {
                yield return(CompilerReference.From(assm));
            }

            // Pre-load template models
            Assembly.Load(typeof(ATS.eFP.Entities.Workorder.Workorder).Assembly.GetName());
            Assembly.Load(typeof(ATS.eFP.Entities.Product.Product).Assembly.GetName());
            Assembly.Load(typeof(ATS.eFP.WebJob.Email.Application.Models.WorkorderNotificationWrapper).Assembly.GetName());
        }
        public TemplateServiceConfiguration()
        {
            Activator = new DefaultActivator();
            CompilerServiceFactory =
                new Roslyn.RoslynCompilerServiceFactory();

            EncodedStringFactory = new HtmlEncodedStringFactory();



            ReferenceResolver = new UseCurrentAssembliesReferenceResolver();
            CachingProvider   = new DefaultCachingProvider();
            TemplateManager   =
                new DelegateTemplateManager();

            Namespaces = new HashSet <string>
            {
                "System",
                "System.Collections.Generic",
                "System.Linq"
            };
            Language = Language.CSharp;
        }
Esempio n. 9
0
 protected CompilerServiceBase()
 {
     ReferenceResolver = new UseCurrentAssembliesReferenceResolver();
 }