Кроме того, мне нужно иметь возможность сериализовать и десериализовать его без необходимости включать dll, из которого он пришел, когда я десериализовал его.
Если вы используете BinaryFormatter
(кстати, я не рекомендую), то нет: вы не можете этого сделать. Это не то, как BinaryFormatter
работает. Ожидается воссоздание точно того, что было сериализовано, что требует тех же самых dll.
Если вы используете любой другой сериализатор, это, возможно, имеет даже меньше смысла; Вы должны сериализовать * данные, правда. Не сантехнические детали, такие как адаптеры.
На полном серьезе, я думаю, вам нужно пересмотреть свой дизайн здесь. Почему вы, например, пытаетесь сериализовать адаптеры? Что бы это значило даже ? Например, может иметь смысл написать DTO, представляющее данные, которые вам нужны для построения ванили SqlDataAdapter
.