Я портирую код из .Net Framework на .Net Core 2.1 и у меня возникают проблемы с портированием класса SoapDuration в System.Runtime.Remoting.Metadata.W3cXsd2001.Я попытался заменить логику на System.Xml.XmlConvert, но он возвращает не тот же формат продолжительности XSD.
.Net Framework 4.0:
SoapDuration.ToString(new TimeSpan(1, 0, 0));
// returns "P0Y0M0DT1H0M0S"
.Net Core 2.1:
XmlConvert.ToString(new TimeSpan(1, 0, 0));
// returns "PT1H"
Я думал о написании метода преобразования, но он должен вести себя точно так же, как SoapDuration.ToString ().