protected override void RunCore()
 {
     if (LoadConfiguration())
     {
         List<Exception> exs = new List<Exception>();
         try
         {
             foreach (ContractServiceDefinition Interface in _Configuration.ContractServiceInterfaces)
             {
                 ServiceHostTemplate template = new ServiceHostTemplate();
                 template.ServiceHostDefinition = (ContractServiceHostDefinition)Interface;
                 template.Output.File = String.Format(@"{0}.svc", template.ServiceHostDefinition.Name);
                 template.Render();
             }
         }
         catch (Exception ex)
         {
             exs.Add(ex);
         }
         if (exs.Count > 0)
         {
             ErrorTemplate errortemplate = new ErrorTemplate();
             ErrorTemplate.Exceptions = exs;
             errortemplate.Output.File = "Error.log";
             errortemplate.Render();
             throw new Exception("See generated output for errors.");
         }
     }
 }
 public virtual string GenerateCode()
 {
     ServiceHostTemplate t = new ServiceHostTemplate();
     t.ServiceHostDefinition = this;
     return t.TransformText();
 }