diff --git a/src/lib/Microsoft.Fx.Portability/DataExtensions.cs b/src/lib/Microsoft.Fx.Portability/DataExtensions.cs index 61eb746fc..081a71b4f 100644 --- a/src/lib/Microsoft.Fx.Portability/DataExtensions.cs +++ b/src/lib/Microsoft.Fx.Portability/DataExtensions.cs @@ -26,6 +26,7 @@ public static class DataExtensions new JsonMultiDictionaryConverter(), new JsonToStringConverter(s => new FrameworkName(s)), new JsonToStringConverter(s => new Version(s)), + new JsonPublicKeyTokenConverter(), } }; diff --git a/src/lib/Microsoft.Fx.Portability/DocumentationLinks.cs b/src/lib/Microsoft.Fx.Portability/DocumentationLinks.cs index ce42e611a..033a9e577 100644 --- a/src/lib/Microsoft.Fx.Portability/DocumentationLinks.cs +++ b/src/lib/Microsoft.Fx.Portability/DocumentationLinks.cs @@ -9,6 +9,6 @@ public static class DocumentationLinks { public static readonly Uri PrivacyPolicy = new Uri("https://privacy.microsoft.com/en-us/privacystatement"); - public static readonly Uri About = new Uri("https://go.microsoft.com/fwlink/?LinkId=506955"); + public static readonly Uri About = new Uri("https://aka.ms/dotnet-portabilityanalyzer"); } } diff --git a/src/lib/Microsoft.Fx.Portability/Utils/JsonConverters/JsonPublicKeyTokenConverter.cs b/src/lib/Microsoft.Fx.Portability/Utils/JsonConverters/JsonPublicKeyTokenConverter.cs new file mode 100644 index 000000000..2740361dc --- /dev/null +++ b/src/lib/Microsoft.Fx.Portability/Utils/JsonConverters/JsonPublicKeyTokenConverter.cs @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Fx.Portability.ObjectModel; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Security.Cryptography.X509Certificates; +using System.Text; + +namespace Microsoft.Fx.Portability.Utils.JsonConverters +{ + internal class JsonPublicKeyTokenConverter : JsonConverter + { + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + string publicKeyTokenString = serializer + .Deserialize(reader); + return PublicKeyToken.Parse(publicKeyTokenString); + } + + public override void WriteJson(JsonWriter writer, object obj, JsonSerializer serializer) + { + PublicKeyToken pkToken = (PublicKeyToken)obj; + serializer.Serialize(writer, pkToken.ToString()); + } + } +}