/// <summary> /// Format an error reported by the code generator to message string reported to the user. /// </summary> /// <param name="generationError"></param> /// <return></return> /// <remarks></remarks> private static string ConvertToBuildProviderErrorMessage(ProxyGenerationError generationError) { string errorMessage = generationError.Message; if (!String.IsNullOrEmpty(generationError.MetadataFile)) { if (generationError.LineNumber < 0) { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}': {1}", generationError.MetadataFile, errorMessage); } else if (generationError.LinePosition < 0) { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}' ({1}): {2}", generationError.MetadataFile, generationError.LineNumber, errorMessage); } else { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}' ({1},{2}): {3}", generationError.MetadataFile, generationError.LineNumber, generationError.LinePosition, errorMessage); } } return(errorMessage); }
/// <summary> /// Convert metadata loading errors into proxy generation error messages /// </summary> /// <return></return> /// <remarks></remarks> internal static ProxyGenerationError ConvertMetadataErrorToProxyGenerationError(MetadataFile metadataItem, Exception ex) { ProxyGenerationError generationError = null; if (ex is XmlSchemaException) { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, (XmlSchemaException)ex); } else if (ex is XmlException) { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, (XmlException)ex); } else if (ex is InvalidOperationException) { System.Xml.Schema.XmlSchemaException schemaException = ex.InnerException as System.Xml.Schema.XmlSchemaException; if (schemaException != null) { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, schemaException); } else { System.Xml.XmlException xmlException = ex.InnerException as System.Xml.XmlException; if (xmlException != null) { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, xmlException); } else { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, (InvalidOperationException)ex); } } } else { generationError = new ProxyGenerationError(ProxyGenerationError.GeneratorState.LoadMetadata, metadataItem.FileName, ex); } return generationError; }
/// <summary> /// Format an error reported by the code generator to message string reported to the user. /// </summary> /// <param name="generationError"></param> /// <return></return> /// <remarks></remarks> private static string ConvertToBuildProviderErrorMessage(ProxyGenerationError generationError) { string errorMessage = generationError.Message; if (!String.IsNullOrEmpty(generationError.MetadataFile)) { if (generationError.LineNumber < 0) { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}': {1}", generationError.MetadataFile, errorMessage); } else if (generationError.LinePosition < 0) { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}' ({1}): {2}", generationError.MetadataFile, generationError.LineNumber, errorMessage); } else { errorMessage = String.Format(CultureInfo.CurrentCulture, "'{0}' ({1},{2}): {3}", generationError.MetadataFile, generationError.LineNumber, generationError.LinePosition, errorMessage); } } return errorMessage; }