示例#1
0
        private static string GetResultXml(T4TemplateHostWrapper t4TemplateHostWrapper)
        {
            var resultXml = string.Empty;

            using (var memoryStream = new MemoryStream())
            {
                var serializer = new XmlSerializer(typeof(string[]));
                serializer.Serialize(memoryStream, t4TemplateHostWrapper.Errors.ToArray());
                memoryStream.Position = 0;
                var sr = new StreamReader(memoryStream);
                resultXml = sr.ReadToEnd();
            }
            return(resultXml);
        }
示例#2
0
        static void Main(string[] args)
        {
            var resultXml = string.Empty;

            try
            {
                Queue queue;
                var   queueFile = args[0];

                string fileContents;
                using (TextReader textReader = new StreamReader(queueFile))
                {
                    fileContents = textReader.ReadToEnd();
                    textReader.Close();
                }
                using (var memoryStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(fileContents)))
                {
                    var deserializer = new XmlSerializer(typeof(Queue));
                    queue = (Queue)deserializer.Deserialize(memoryStream);
                }

                var t4TemplateHostWrapper = new T4TemplateHostWrapper();

                foreach (var item in queue.QueueItems)
                {
                    //Console.WriteLine(string.Format("transforming {0} -> {1}", item.InputPath, item.OutputPath));
                    t4TemplateHostWrapper.ProcessT4File(item.InputPath, item.OutputPath);
                }

                resultXml = GetResultXml(t4TemplateHostWrapper);
            }
            catch (Exception e)
            {
                resultXml = SerializeExceptionToXml(e);
            }

            Console.WriteLine(resultXml);
        }