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)); } }