diff --git a/transcriptions/003-corewf-with-dustin-metzgar.md b/transcriptions/003-corewf-with-dustin-metzgar.md index 5095d90..b11f245 100644 --- a/transcriptions/003-corewf-with-dustin-metzgar.md +++ b/transcriptions/003-corewf-with-dustin-metzgar.md @@ -127,11 +127,11 @@ Actually so that's what's surprising is that that's not actually a problem anymo So like before .NET Standard 2.0 it was a big problem there was all kinds of like System.ComponentModel things, there was just a lot of pieces that we had to work around to get it to work and we did manage to get it to work on .NET Standard 1.3 without XAML and I can go into that. But now with .NET Standard 2.0 it's almost the exact same source code. -But they're the the technical challenges come around say with when when Workflow persists ot uses a serioaliser are called the NetDataContractSerializer and for people that have used WCF Workflow might be familiar with this, but basically there's there's a thing called the DataContractSerializer and then you put you mark your classes with DataContract and you include things in a DataContract by marking your properties with DataMember and things like that. And that allows you to serialise your objects and XML. +But they're the the technical challenges come around say with when when Workflow persists ot uses a serializer are called the NetDataContractSerializer and for people that have used WCF Workflow might be familiar with this, but basically there's there's a thing called the DataContractSerializer and then you put you mark your classes with DataContract and you include things in a DataContract by marking your properties with DataMember and things like that. And that allows you to serialise your objects and XML. The NetDataContractSerializer is it builds on that but it adds type information into the XML so that when you're reading it, it knows which where those types are. Because if say like it says, like, you know, if you're serialising a Shape, this will actually like the NetDataContractSerializer will say you know, the element name is Shape plus it's the type is this assembly this type specifically, and then you know, so that thing is reading and can pull it back in. -So NetDataContractSerializer is not included in the .NET Standard and it's not going to be converted. The DataContractSerializer is there but it's not good enough for the for what Workflow does needs that NetDataContractSerializer because it needs that type of information. I'm kind of going through another thing where there's a binary serialiser now .NET Standard, but BinarySerialiser works differently, where it's a it's an opt out model versus DataContractSerializer is opt in. So basically, I have to go through all the types and kind of reverse the the properties because by BinarySerialiser is going after the fields and I have to say don't serialise this. And you know, as opposed to being inclusive on the other side. So. So that's one of the challenges. The other one is XAML. +So NetDataContractSerializer is not included in the .NET Standard and it's not going to be converted. The DataContractSerializer is there but it's not good enough for the for what Workflow does needs that NetDataContractSerializer because it needs that type of information. I'm kind of going through another thing where there's a binary serializer now .NET Standard, but BinarySerializer works differently, where it's a it's an opt out model versus DataContractSerializer is opt in. So basically, I have to go through all the types and kind of reverse the the properties because by BinarySerializer is going after the fields and I have to say don't serialise this. And you know, as opposed to being inclusive on the other side. So. So that's one of the challenges. The other one is XAML. So there is not a .NET Standard of System.Xaml. And there's lots of reasons for that. And they all make sense. So the because there's an implementation of XAML in Mono, there's one in the .NET Framework, as well, UWP. And they're all different. And making one version of System.Xaml in .NET Standard, it just wouldn't work, the implementations are all different. So they, they started coming with something called the XAML Standard, which has like, kind of the, the core pieces of XAML, that should be implemented the same across all of them. But it's not an all inclusive thing. And it's also not a tangible thing, really, it's more like a document that says this is the XAML Standard. So you don't have System.Xaml, snd then Workflow used it heavily because all the Workflow definitions are done in XAML. And I had, I found something where it was there's something called Portable.Xaml. It's a it's a library out there on on GitHub and a NuGet. And it's like a port of the Xamarin version of XAML over to .NET Standard. And I'm taking that and trying to fit it into into WF and trying to get it to work, which is it's going pretty well actually so far. So there might be some fixes that we have to do there. But