Add ThrowNoDefaultConstructorForCollectionException (dotnet/corefx#32132)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Tue, 11 Sep 2018 13:43:35 +0000 (15:43 +0200)
committerGitHub <noreply@github.com>
Tue, 11 Sep 2018 13:43:35 +0000 (15:43 +0200)
commit72205f9c27e6bd618dd9ac638c5552e661eccf00
tree2aff725929f65a3d9edcada460100a9993e4287f
parent8fcaf538b13f8bb620c38bf181b057c6176ba978
Add ThrowNoDefaultConstructorForCollectionException (dotnet/corefx#32132)

This method is referenced from the code generated by SerializationAssemblyGenerator on .NET Native.

Without this method, valid user code might end up with following warning:

```
  MSBUILD : warning : ILTransform : warning ILT0003: Method 'Type647.ReadArrayOfstringFromXml(XmlReaderDelegator, XmlOb
jectSerializerReadContext, XmlDictionaryString, XmlDictionaryString, CollectionDataContract)' will always throw an exception due to the missing method 'XmlObjectSerializerReadContext.ThrowNoDefaultConstructorForCollectionException(Type)'
in assembly 'System.Private.DataContractSerialization'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release. [d:\dd\pn1\src\QA\ToF\tests\FX\Conformance\System.Runtime.Serialization.Json\4.0.0.0\DataContractJsonSerializerTests.csproj]
```

References to this method were added in changeset 1530459 on Project N TFS side. I wasn't able to find any history of SGuy adding this code on the CoreFX side. So I assume this never worked - we just never noticed the compiler warning.

Commit migrated from https://github.com/dotnet/corefx/commit/796fa98646559be01b9a14e37be0eb0a1ee92d1f
src/libraries/System.Private.DataContractSerialization/src/Resources/Strings.resx
src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlObjectSerializerReadContext.cs