З 2018 року .net може в кросс-платформ. Ну, якщо брати core 2.2. П'ять років як би вже. А все ще маємо дивні дива.
Ну от Uri.TryCreate хоча б.
Потрібно визначити є урла абсолютною чи відносною. Для цього є такий код:
var isExternalUrl = Uri.TryCreate(link.Url, UriKind.Absolute, out Uri absoluteUri);
На вінді все працює, а от на лінуксі починаються приколи. Наприклад, /en/store в linux оточенні буде абсолютною урлою. Тому що насправді це file:///en/store. От очевидно, але не зовсім. Мова наче про web та лінки, а тут файл. Але з іншого боку посилання на файл теж URI. От і підкопатись немає до чого, але і бісить.
Ну от Uri.TryCreate хоча б.
Потрібно визначити є урла абсолютною чи відносною. Для цього є такий код:
var isExternalUrl = Uri.TryCreate(link.Url, UriKind.Absolute, out Uri absoluteUri);
На вінді все працює, а от на лінуксі починаються приколи. Наприклад, /en/store в linux оточенні буде абсолютною урлою. Тому що насправді це file:///en/store. От очевидно, але не зовсім. Мова наче про web та лінки, а тут файл. Але з іншого боку посилання на файл теж URI. От і підкопатись немає до чого, але і бісить.