RehanSaeed / Schema.NET

Schema.org objects turned into strongly typed C# POCO classes for use in .NET. All classes can be serialized into JSON/JSON-LD and XML, typically used to represent structured data in the head section of html page.
MIT License
640 stars 80 forks source link

Upgrade to Schema.org v16 #590

Closed Turnerj closed 1 year ago

Turnerj commented 1 year ago

Upgrades to Schema.org v16 (from v12)

This also includes a fix of sorts for the updater tool where if you ran it from Visual Studio, it wouldn't be the right directory. It now passes the project directory via MSBuild which is then read from the assembly attributes.

Additionally needed to add a Values{T1,T2,T3,T4,T5} as the pending types now require it.

Turnerj commented 1 year ago

Looks like two build issues remain:

Ambiguous user defined conversions 'Values<IEntryPoint, Uri, Uri>.implicit operator Values<IEntryPoint, Uri, Uri>(Uri)' and 'Values<IEntryPoint, Uri, Uri>.implicit operator Values<IEntryPoint, Uri, Uri>(Uri)' when converting from 'Uri' to 'Values<IEntryPoint, Uri, Uri>'

This looks like it is coming from the Target property on Action as its type is Values<IEntryPoint, Uri, Uri>. Guessing maybe a mistake in the schema.org JSON-LD file. We probably can tweak our tool to be distinct per type to avoid this bug.

'Course' does not contain a definition for 'Provider'

Likely the property has been removed from schema.org but I haven't gone to check yet.

RehanSaeed commented 1 year ago

Its surprising how often they have bugs in their JSON-LD. You'd think they'd add a test or two.

Turnerj commented 1 year ago

Yeah, it is pretty surprising. Like sure, this is an extremely new release but still, this has happened to us a number of times which by itself should be unlikely.