From 32c0db5d42ccc6574c03c27ae598044b70cffd35 Mon Sep 17 00:00:00 2001 From: Kamil Jusko Date: Wed, 29 Jan 2025 13:22:35 +0100 Subject: [PATCH] fix: import derived types order --- .../Microsoft.Xml/Xml/Serialization/SoapSchemaImporter.cs | 3 ++- .../Microsoft.Xml/Xml/Serialization/XmlSchemaImporter.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/SoapSchemaImporter.cs b/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/SoapSchemaImporter.cs index f2ad817daa5..b7b0df2f30a 100644 --- a/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/SoapSchemaImporter.cs +++ b/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/SoapSchemaImporter.cs @@ -11,6 +11,7 @@ namespace Microsoft.Xml.Serialization using System.Reflection; using System.Diagnostics; using Microsoft.CodeDom.Compiler; + using System.Linq; // using System.Security.Permissions; /// @@ -226,7 +227,7 @@ private TypeMapping ImportElementType(XmlSchemaElement element, string ns) // [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] internal override void ImportDerivedTypes(XmlQualifiedName baseName) { - foreach (XmlSchema schema in Schemas) + foreach (XmlSchema schema in Schemas.OrderBy(x => x.TargetNamespace).ThenBy(x => x.SourceUri)) { if (Schemas.IsReference(schema)) continue; if (XmlSchemas.IsDataSet(schema)) continue; diff --git a/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/XmlSchemaImporter.cs b/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/XmlSchemaImporter.cs index 78d5a88ee97..3e74da82eda 100644 --- a/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/XmlSchemaImporter.cs +++ b/src/dotnet-svcutil/lib/src/FrameworkFork/Microsoft.Xml/Xml/Serialization/XmlSchemaImporter.cs @@ -17,6 +17,7 @@ namespace Microsoft.Xml.Serialization using System.Globalization; // using System.Security.Permissions; using Microsoft.Xml.Serialization.Advanced; + using System.Linq; #if DEBUG using System.Diagnostics; @@ -504,7 +505,7 @@ private string GenerateUniqueTypeName(string desiredName, string ns) // [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] internal override void ImportDerivedTypes(XmlQualifiedName baseName) { - foreach (XmlSchema schema in Schemas) + foreach (XmlSchema schema in Schemas.OrderBy(x => x.TargetNamespace).ThenBy(x => x.SourceUri)) { if (Schemas.IsReference(schema)) continue; if (XmlSchemas.IsDataSet(schema)) continue;