I observed the same behaviour as discussed in
http://xsd2code.codeplex.com/discussions/255437(Xsd2Code Version 3.5.0.40152) I found that the ExcludeIncludedTypes option work as expected when I choose 'exclude' type names that matches NO element name in the xsd for which I want to generate code. In opposite when a matching is found the generated code is as ExcludeIncludedTypes were never be set. E.g. these XSDs are creating successful results main.xsd: with ReturnType.xsd: But these XSDs are failing to provide proper results main.xsd: <== difference ! with ReturnType.xsd: The only difference is the used complex type with name 'Return' in opposite to 'ReturnType' as in the successful example.