コード例 #1
0
        IStreamSource IStreamResolver.ResolveInclude(IStreamSource baseStream, string includePath)
        {
            if (includePath == "%code%")
            {
                StringBuilder sb = new StringBuilder(4096);
                StringWriter  sw = new StringWriter(sb);

                sw.WriteLine();
                GenerateScriptCore(sw);

                string compiledCode = sb.ToString();
                return(new CodeStreamSource(compiledCode));
            }
            else
            {
                IStreamResolver resolver = baseStream as IStreamResolver;
                if (resolver != null)
                {
                    return(resolver.ResolveInclude(baseStream, includePath));
                }

                string resolvedPath = Path.Combine(Path.GetDirectoryName(Path.GetFullPath(baseStream.FullName)), includePath);
                return(new FileInputStreamSource(resolvedPath));
            }
        }