LinqToXsdCore 3.4.7
dotnet tool install --global LinqToXsdCore --version 3.4.7
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local LinqToXsdCore --version 3.4.7
#tool dotnet:?package=LinqToXsdCore&version=3.4.7
nuke :add-package LinqToXsdCore --version 3.4.7
LinqToXsdCore Release Notes
Version 3.4.7
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.7
- https://www.nuget.org/packages/XObjectsCore/3.4.7
- Fixed a bug with fixed enum values being generated as string, resulting in uncompilable code, see #68.
Version 3.4.6
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.6
- https://www.nuget.org/packages/XObjectsCore/3.4.6
- Fixed a bug where Timezone info was lost (conversions from DateTimeOffset to DateTime no longer occur).
Version 3.4.5
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.5
- https://www.nuget.org/packages/XObjectsCodeGen/3.2.5 (XObjectsCodeGen is an internal dependency used by LinqToXsdCore and is not meant to be used in shipping libraries).
- The code generator will no longer generate static
XName
fields for inherited properties. See GitHUb PR65.
- The code generator will no longer generate static
Version 3.4.4
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.4
- https://www.nuget.org/packages/XObjectsCore/3.4.4
- Fixes an issue wtih simple types that add restrictions to
xs:date
orxs:time
would not work with UseDateOnly or UseTimeOnly. See GitHub PR61. - Fixes a regression (InvalidCastException) when parsing
xs:date
orxs:time
into a good old DateTime.
- Fixes an issue wtih simple types that add restrictions to
- https://www.nuget.org/packages/XObjectsCodeGen/3.2.4 (XObjectsCodeGen is an internal dependency used by XObjectsCore and LinqToXsdCore and is not meant to be used in shipping libraries).
- Fixes an issue with generated C# model for lists of enums which does not compile because the type of the property is generated incorrectly as
List<string>
instead ofList<TEnum>
.
- Fixes an issue with generated C# model for lists of enums which does not compile because the type of the property is generated incorrectly as
Version 3.4.3
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.3
- https://www.nuget.org/packages/XObjectsCore/3.4.3
- This release adds support for nillable elements, (where elements may have the following attribute
xsd:nil="true"
to indicate they are of nil value; which is an alternate way of modelling optional elements, rather than just omit the element entirely). See GitHub PR60.
- This release adds support for nillable elements, (where elements may have the following attribute
- https://www.nuget.org/packages/XObjectsCodeGen/3.2.3 (XObjectsCodeGen is an internal dependency used by XObjectsCore and LinqToXsdCore and is not meant to be used in shipping libraries).
- This release of XObjectsCodeGen has been updated to accommodate support for nillable elements described above.
Version 3.4.2
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.2
- Fixed a code generation bug (exhibited in XmlSpec schema (xmlspec.xsd)) when the simple type enum for xlink:type attribute was not being generated.
- Fixed a code generation bug whereby the wrong type name was referenced when the property name and type name were the same, and the XML schema did not have [Element Form Default="qualified"] set and the property type was reflecting an XSD union type (like the xml:lang attribute) (exhibited in 'W3C XMLSchema v1.xsd').
- Fixes a code generation bug with certain XName fields (that are only referenced in the static constructor of a type) were not getting created.
- Backported .NET 6
DateOnly
andTimeOnly
type serialisation forxs:date
andxs:time
types to .NET Standard 2.0 using Portable.System.DateTimeOnly; there remains a .NET 6 version and a .NET Standard 2.0 version of the XObjectsCore and LinqToXsd nuget packages, but are now functionally the same.
Version 3.4.1
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.1
- Fixes a null-reference error in the XListVisualizable which can cause debugger enumeration to fail in Visual Studio on an
XTypedElement
list. - The LinqToXsd code generator tool will now filter out XSDs that target v1.1 of XML Schema as .NET only supports v1.0.
- Fixes a code generation bug that can be thrown in rare cases when the
xs:NCName
type is used in a schema. - The code generator will now generate a
value?.ToString()
expression on a property value setter when the property type is nullable.
- Fixes a null-reference error in the XListVisualizable which can cause debugger enumeration to fail in Visual Studio on an
Version 3.4.0
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.4.0
<SplitCodeFiles By="Namespace" />
now works, but it requires a newFile
filename attribute on every<Namespace />
. If you had set this unimplemented option in your config before upgrading, you will get an error and need to modify your config!<NullableReferences>
option should now be set inside<CodeGeneration>
. It still works in<Configuration>
for backward compatibility.- New options
<UseDateOnly>
and<UseTimeOnly>
inside<CodeGeneration>
. Whentrue
, .net 6DateOnly
andTimeOnly
types will be generated forxs:date
andxs:time
properties. - Minor breaking change: if you used
XObjectsCodeGen
directly (as a library), a few public APIs have changed to support splitting files by namespace. There is no breaking change for users of LinqToXsd tool andXObjectsCore
runtime.
Version 3.3.3
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.3.3
- Fixes an issue with the
NullableReferences
element not appearing in generated config files.
- Fixes an issue with the
Version 3.3.2
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.3.2
- This update only applies to the LinqToXsd global
dotnet
tool; it fixes a bug whereby a class constructor was being generated for classes for XSD elements, whose schema types are simple types, and said simple types are defined as enum restrictions on string types (likeNMToken
orxs:string
) and the class constructor accepted a value for the enum type. The functional constructor now converts from the given string value to the inner enum type by parsing the string value and convert it to it's proper inner enum type (stored in the TypedValue property).
- This update only applies to the LinqToXsd global
Version 3.3.1
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.3.1
- This update only applies to the LinqToXsd global
dotnet
tool; it re-enables .NET Core 3.1 as a runtime target, and also adds .NET 5, alongside .NET 6 that was added in 3.3.0. - PDB debug information is now embedded inside the shipping assemblies.
- This update only applies to the LinqToXsd global
Version 3.3.0
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.3.0
- https://www.nuget.org/packages/XObjectsCore/3.3.0
- The LinqToXsd global tool now targets .NET 6 (note that the supporting library XObjectsCore and all code generated by the LinqToXsd tool still targets .NET Standard 2.)
- This new release fixes bugs with the content model and enum code generation. It incorporates contributions from rvuistin in PR36 (many thanks!).
LinqToXsdCore 3.2.1 and XObjectsCodeGen 3.2.1 (no changes to XObjectsCore)
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.2.1
- https://www.nuget.org/packages/XObjectsCodeGen/3.2.1
- Disabled checking for duplicate enum type declaration when creating a nested enum type for a property on a generated class (partially resolves GitHub Issue 31).
LinqToXsdCore 3.2.0, XObjectsCore 3.2.0 and XObjectsCodeGen 3.2.0
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.2.0
- https://www.nuget.org/packages/XObjectsCore/3.2.0
- XObjectsCore has now had all the code generation facilities split into a separate library: XObjectsCodeGen. This change now means that generated code no longer needs to depend on System.CodeDom when it is used in shipping apps or libraries.
- Fixes an error that occurs when attempting to pass null to a property that had validation logic in the property setter (see GitHub PR28).
- https://www.nuget.org/packages/XObjectsCodeGen/3.2.0
- The number of
XName
instantiations in generated code is now greatly reduced (see GitHub PR23). - Now includes an option for null-annotating generated code (see GitHub PR29).
- Enums in generated code are now properly generated as CLR value types (see GitHub 21).
- Updated to fix ambiguous types where an element is a base type and a derrived type is used (see GitHub 16).
- The number of
LinqToXsdCore 3.1.0 and XObjectsCore 3.1.0
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.1.0
- https://www.nuget.org/packages/XObjectsCore/3.1.0
- Fixed a enum type generation bug that occurs when referencing locally defined enum types.
- Also fixed another one enum generation bug for multiple inline enum types defined with the same name; the XSD spec allows for multiple inline enum types to share the same name so long as they're not defined in the same complex type or element, and are not global types.
- Fixed an issue with ambiguous types where an element is a base type and a derrived type is used.
LinqToXsdCore 3.0.1 and XObjectsCore 3.0.1
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.0.1
- https://www.nuget.org/packages/XObjectsCore/3.0.1
- Fixed Github Issue #10
- Imported code changesets for v2.0.2 from the legacy LinqToXsd project, which generates the proper type definitions for union types.
- Switched to a tripartite versioning scheme.
- The global tool LinqToXsd now targets .NET Core 3.1 in addition to .NET Core 2.1. This allows users using either version of .NET Core to still use the global tool to generate code.
LinqToXsdCore 3.0.0.12 and XObjectsCore 3.0.0.11
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.12
- https://www.nuget.org/packages/XObjectsCore/3.0.0.11
- When a group of XSD files or a folder of them all import or include each other, LinqToXsd cannot decide which one to use as the entry point for code generation, so now the CLI throws an exception when that condition is met while trying to resolve which XSD file to use.
- Reverts "Avoid type name conflicts in generated code" from previous release, as it broke the code generation of the
BuildWrapperDictionary()
method generated inside theLinqToXsdTypeManager
; it addstypeof(void)
expressions, which breaks untypedXElement
type conversion. Previous (and correct) behavior was to addtypeof(T)
expressions where T was the generated complex or global element type. - Fixes an issue whereby setting a string value to an attribute whose type was
AnyAtomicType
resulted in an error. - Fixes an issue when using the static Parse() or Load() methods on an internal generated type.
LinqToXsdCore 3.0.0.11 and XObjectsCore 3.0.0.10
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.11
- https://www.nuget.org/packages/XObjectsCore/3.0.0.10
- Avoid type name conflicts in generated code.
- Do not prefix an identifier with the '@' character when not needed.
XObjectsCore 3.0.0.9
Nuget packages:
Added XTypedElementEqualityComparer
and XTypedElementDeepEqualityComparer
classes that implement IEqualityComparer{T}
for the XTypedElement
class.
LinqToXsdCore 3.0.0.10 and XObjectsCore 3.0.0.8
Nuget packages:
- https://www.nuget.org/packages/XObjectsCore/3.0.0.8
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.10
Modified the behaviour of retrieving the value of an attribute, when the schema type is anyAtomicType (which is the default for attributes when no type is given). The value literal is now returned as a string (pre-existing behaviour would throw an exception saying that anyAtomicType is not a supported conversion to the CLR type 'string').
XObjectsCore 3.0.0.7
Nuget packages:
- https://www.nuget.org/packages/XObjectsCore/3.0.0.7
- Fixed a regression bug with previous release.
LinqToXsdCore 3.0.0.9 and XObjectsCore 3.0.0.6
Nuget packages:
- https://www.nuget.org/packages/XObjectsCore/3.0.0.6
- Fixed an issue when performing an explicit type conversion from XElement to its XTyped-equivalent when the XTyped-equivalent type was an internal class.
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.9
- Generating a new config file no longers includes the Xml.Schema.Linq schema namespace mapping. Also generating a new config file will generate a default namespace mapping when the XSD does not target a namespace.
LinqToXsdCore 3.0.0.8
Nuget packages:
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.8
- Implemented saving merged output from multiple XSD files when generating a config file (using 'config -e' switch) using a folder as a source.
XObjectsCore 3.0.0.5 and LinqToXsdCore 3.0.0.7
Nuget packages:
- https://www.nuget.org/packages/XObjectsCore/3.0.0.5
- Reversed a change made that removed the virtual keyword on properties on generated types. Added a test for it.
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.7
- Dropped emitting errors to a custom handler. Was outputting red console text needlessly.
XObjectsCore 3.0.0.4 and LinqToXsdCore 3.0.0.6
Nuget packages:
- https://www.nuget.org/packages/XObjectsCore/3.0.0.4
- https://www.nuget.org/packages/LinqToXsdCore/3.0.0.6
Fixes a bug that caused XTypedElement.Clone() to fail when generated code had the internal
visibility modifier. This manifested in the CLI tool, when attempting to use it to generate an example configuration file linqtoxsd config 'file.xsd' -e
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETFramework 4.7.2
- Alba.CsConsoleFormat.ColorfulConsole (>= 1.0.0)
- CommandLineParser (>= 2.8.0)
- XObjectsCodeGen (>= 3.2.6)
- XObjectsCore (>= 3.4.7)
Version | Downloads | Last updated |
---|---|---|
3.4.7 | 731 | 7/19/2024 |
3.4.6 | 2,545 | 2/13/2024 |
3.4.5 | 239 | 2/6/2024 |
3.4.4 | 249 | 1/29/2024 |
3.4.3 | 226 | 1/24/2024 |
3.4.2 | 612 | 10/2/2023 |
3.4.1 | 293 | 9/16/2023 |
3.4.0 | 376 | 7/3/2023 |
3.3.3 | 614 | 1/6/2023 |
3.3.2 | 845 | 3/30/2022 |
3.3.1 | 461 | 3/29/2022 |
3.3.0 | 532 | 3/28/2022 |
3.2.1 | 1,047 | 7/3/2021 |
3.2.0 | 537 | 2/15/2021 |
3.1.0 | 754 | 5/3/2020 |
3.0.1 | 679 | 3/15/2020 |
3.0.0.12 | 517 | 3/11/2020 |
3.0.0.11 | 574 | 3/5/2020 |
3.0.0.10 | 605 | 2/14/2020 |
3.0.0.9 | 579 | 1/18/2020 |
3.0.0.8 | 626 | 10/27/2019 |
3.0.0.7 | 659 | 10/1/2019 |
3.0.0.6 | 626 | 9/27/2019 |
3.0.0.5 | 618 | 8/20/2019 |
3.0.0.4 | 660 | 6/7/2019 |
3.0.0.3-beta | 436 | 5/15/2019 |