Bug 31000 - Inconsistent DataContractSerializer behavior between .Net and Mono
Summary: Inconsistent DataContractSerializer behavior between .Net and Mono
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: WCF assemblies (show other bugs)
Version: 4.0.0
Hardware: PC Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2015-06-10 17:42 UTC by Seth Rosetter
Modified: 2015-09-04 10:48 UTC (History)
2 users (show)

See Also:
Is this bug a regression?: ---
Last known good build:


Description Seth Rosetter 2015-06-10 17:42:02 UTC
The program below throws the following exception on .Net 4.5
"An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in System.Runtime.Serialization.dll

Additional information: Type 'System.String[]' with data contract name 'ArrayOfstring:http://schemas.microsoft.com/2003/10/Serialization/Arrays' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer."

On Mono 4.0, the serialization completes with no exception thrown.

class Program
	static void Main (string[] args)
		var test = new Dictionary<string, object> ();
		test.Add ("test", new string[] { "a", "b", "c" });

		var stream = new MemoryStream ();
		var writer = XmlDictionaryWriter.CreateBinaryWriter (stream);
		var dcs = new DataContractSerializer (typeof(Dictionary<string, object>));
		dcs.WriteObject(writer, test);
Comment 1 Paul DiPietro [MSFT] 2015-09-04 10:48:47 UTC
*** Bug 33630 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.