Существует Саламандра , который является собственным компилятором.NET и компоновщиком от Remotesoft, который может развернуть приложения без платформы.NET. Я не знаю, как хорошо это соответствует своим требованиям.
Хорошо, похоже, ответ состоит в том, что DataContractSerializer медленнее, чем XMLSerializer, если вы думаете об этом с точки зрения уменьшения размера полезной нагрузки XML. (Что для меня является важным компонентом измерения реальной производительности). В DCS есть кое-что приятное, но если важна скорость, пропустите это.
Мне действительно было бы интересно узнать, не согласен ли кто-нибудь с этим.
Кто сказал, что он будет быстрее и масштабируемее? Не помню, что это было одним из ключевых преимуществ DCS. Кто-то однажды сказал, что DCS может сериализоваться быстрее, но время передачи часто превосходит время сериализации. Сериализация на 10% быстрее и создание большей полезной нагрузки может фактически привести к увеличению общей задержки на 20%.
Если вам не нравится размер, вы можете попробовать сжать исходный XML, используя более короткие имена в атрибуте DataMember . Этот подход также работает с XmlSerializer, используя атрибут XmlElement. С DCS вы всегда будете в невыгодном положении по сравнению с XmlSerializer с точки зрения минимально возможного размера из-за экономии размера элементов и атрибутов.