A .NET port of the BeanIO java library
- Using Nullable Reference Types
- NuGet updates
- NodaTime 3.1.10
- Minimum target framework is
- .NET Framework 4.7.2
- .NET Standard 2.0
- .NET 6.0
- C++/CLI is only supported when using
PackageReferenceinstead ofpackages.config
- Supports a new experimental property accessor factory
asmwhich uses compiled expression trees instead of reflection - Update of all dependencies
- Now supports .NET Core 1.0 (through .NET Standard 1.1)
- BREAKING CHANGE: Removed JSON support, because Newtonsoft.Json is available for all platforms and provides its own (de-)serialization mechanisms
- BREAKING CHANGE: Support for .NET Standard 1.1, .NET 4.5, and C++/CLI (.NET 4.5); Visual Studio 2015 Update 3 with NuGet 3.5.0 beta 2 or latest Xamarin Studio (maybe even from the beta channel) are required.
- Support for adding derived types to collections
- Fixed
parseDefault==falsewhen serializing non-null value
- Also usable in mobile (Windows Phone, Android, iOS) and Windows Store applications
- No need to handle with the java types (like
ArrayList). - No need to provide all the IKVM assemblies.
- Contains support for customer provided scheme handlers to be able to get the imported mappings from every place you need to load it from (Internet, isolated storage, etc.)
This port is in most parts compatbile with 2.1.0 of BeanIO, except the JSON functionality, as Newtonsoft.Json already supports very flexible (de-)serialization.
- Supports .NET Standard 1.1 (.NET Core 1.0, .NET Framework 4.5+, Windows 8+, Windows Phone 8.1+, Mono 4.4+, Xamarin.iOS, Xamarin.MonoTouch, and Xamarin.Android).
- Contains support for generics.
- Contains support for customer provided scheme handlers (to be able to provide direct file access).
- New mapping file to enable field validation while marshalling (2015-06)
- Added mapping files to NuGet package
- Support for
ICollection<>interfaces - New
At()function for StreamBuilder - Added the ability to use templates from the
RecordBuilderandSegmentBuilder - New
parseDefaultconfiguration to allow default values that don't match the unterlying fields type (e.g.00000000asLocalDatewith formatyyyyMMdd)
- The namespace is now
BeanIOinstead oforg.beanio. - Type names must contain the assembly name, because there is no
ClassLoaderin .NET. - The
datetype handler usesNodaTime.LocalDate. - The
timetype handler usesNodaTime.LocalTime. - When you want to use a date with time zone, you have to use the
datetimeoffsettype handler. - There's a
resource:scheme instead of aclasspath:scheme that references an assembly ressource. The assembly name must be specified. - Use of ressource files (
*.resx) for error message ressources instead of*.propertiesfiles. - There's no
FieldsAttributewhich may containFieldAttributes. Just use multipleUnboundFieldAttributes.
- BeanIO.NET exists as portable (.NET Standard 1.1) library and therefore doesn't provide any file access.
- Patterns like
X###0.0Xaren't supported by .NET, because there is noParseExactfor numeric types. - JSON isn't a supported file format, because Newtonsoft.Json already supports very flexible (de-)serialization.