Есть что-то вроде, но не совсем как JAXB. Об этом говорят Аллон Гуралнек и Бруно Конде. Разница в десериализации. С XmlSerializer вы должны указать тип. Тип может быть получен из XSD-файла XML Schema, который обрабатывается инструментом XSD.EXE. Инструмент создает файл cs с частичными классами для каждого определенного типа в схеме XML. Это удобно в использовании.
Но вы не можете использовать derserializer в XmlSerilaizer, если у вас нет типа для действительного xml. Сценарий может выглядеть следующим образом. Вы получаете сообщения в формате xml из очереди сообщений. Вы можете получить любой из типов, определенных в XML-схеме. С JAXB вы дерисализируете xml в объект и используете свойство getClass, чтобы определить, какой это тип. Я не нашел аналогичного способа сделать это в C #.