[CSHARP-2595] BsonClassMap type initializer throws exception Created: 19/Apr/19 Updated: 28/Oct/23 Resolved: 14/May/19 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Serialization |
| Affects Version/s: | 2.8.0 |
| Fix Version/s: | 2.8.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Konstantinos Sambanis | Assignee: | Robert Stam |
| Resolution: | Fixed | Votes: | 5 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
dotnet core 3.0 preview4 |
||
| Issue Links: |
|
||||||||
| Description |
|
The exception is thrown at: https://github.com/mongodb/mongo-csharp-driver/blob/660658d4253f06506c1d60aae7ef68745ab609b2/src/MongoDB.Bson/Serialization/BsonClassMap.cs#L40
It used to work up to and including dotnet core 3.0 preview3.
Today I upgraded to preview4, causing this breaking change. I researched the issue briefly, apparently the new core version does not include the System.Runtime.Serialization.Formatters reference in CoreLib (so the System.Runtime.Serialization.FormatterServices type cannot be loaded this way).
Assembly.Load("System.Runtime.Serialization.Formatters") will work instead of typeof(string).GetTypeInfo().Assembly as a method to load the assembly, but it will not work with .net framework (so there is some versioning code required probably). |
| Comments |
| Comment by Githook User [ 20/May/19 ] |
|
Author: {'name': 'vincentkam', 'email': 'vincent.kam@10gen.com', 'username': 'vincentkam'}Message: |
| Comment by Githook User [ 17/May/19 ] |
|
Author: {'name': 'vincentkam', 'email': 'vincent.kam@10gen.com', 'username': 'vincentkam'}Message: |
| Comment by Githook User [ 13/May/19 ] |
|
Author: {'email': 'robert@robertstam.org', 'name': 'rstam', 'username': 'rstam'}Message: |
| Comment by Githook User [ 13/May/19 ] |
|
Author: {'email': 'konh@yandex.ru', 'name': 'KonH', 'username': 'KonH'}Message: This change cover .NET Framework and .NET Core ways to get System.Runtime.Serialization.FormatterServices type instance. |
| Comment by Githook User [ 13/May/19 ] |
|
Author: {'email': 'robert@robertstam.org', 'name': 'rstam', 'username': 'rstam'}Message: |
| Comment by Githook User [ 13/May/19 ] |
|
Author: {'email': 'konh@yandex.ru', 'name': 'KonH', 'username': 'KonH'}Message: This change cover .NET Framework and .NET Core ways to get System.Runtime.Serialization.FormatterServices type instance. |
| Comment by Konstantin Khitrykh [ 20/Apr/19 ] |
|
Hello! I submitted PR with proposed changes - https://github.com/mongodb/mongo-csharp-driver/pull/372 |