Adam wrote:
While PCLs will be discontinued in the future, I wouldn't call them dead technology just yet.
My words may be a bit harsh to call it dead, I only want give point to one's words

Especially for beginners and hobbyiest it's totally okay to use PCL. But porting stuff to obsolete technologies is really not what should be done. Additionally the port was already done by the Wire developer but to the state-of-the-art .NET Standard.
zakila wrote:
I tried to use Wire in my project but I was prevented by nuget. It said Wire was not compatible. Do I need to turn my Duality plugin into a .net standard project? I did notice that option in VS 2017.
As Adam already said, you can port your PCL core plugin to .NET Standard. But you need to use .NET Standard 1.6 in your core plugin, when you want to integrate Wire, but this is only available with Visual Studio 2017 Preview 15.3. So you have two options:
You cant wait and install Visual Studio 2017 Preview 15.3 (
Blogpost). Microsoft says side by side installation with already installed Visual Studio 2017 version should work. I am bit more cautious, because it's a prerelease and you never know for sure. But if you install the preview you should be able to use .NET Standard 1.6 core plugin together with Wire immediately.
Seconds option: Wait until Microsoft releases .NET Standard 2.0 within the next weeks. The official Visual Studio 2017 Update 3 will go along with the release, so you dont need a separate Visual Studio installation. Until then you can only work with .NET Standard 1.5 at highest if you have installed at least the developer pack of .NET Framework 4.6.2 or .NET Standard 1.4 with .NET Framework 4.6.1.
Maybe third option: I suspect Wire uses enhanced Reflection so it has to rely on higher .NET Standard versions. If you are okay with attributed data classes you can also use
protobuf-net. Microsoft itself recommends this package for platform independent binary serialization. It only needs .NET Standard 1.3. I am using it in my prototype and having a good experience so far.
One last important thing if you want to use .NET Standard within Duality: Duality does not integrate any .NET Standard Reference Library. But gladfully Duality resolves missing assemblies looking in the Plugin directory. Therefore you need to supply any used .NET Standard library (including the Wire .NET Standard lib) within the Plugin folder of Duality. You get FileNotFound- or AssemblyLoadExceptions in Duality or in the editor if some libs are missing. You then need to supply them to get your core plugin correctly to work. That's it.