UriBuilder избегает?до% 3F, но не в каждом приложении - PullRequest
0 голосов
/ 02 октября 2018

Я использую UriBuilder для создания Uri, включая запрос.Я хочу создать Uri следующим образом:

file:///C:/ProgramData/bla/index.html?cs=6000

, но я получаю следующее:

file:///C:/ProgramData/bla/index.html%3Fcs=6000

мой код выглядит так:

const string HELP_DIRECTORY_NAME = "help";
const int TOPIC_ID = 6000;

var baseUri = new Uri(@"C:\ProgramData\bla\");
var builder = new UriBuilder(baseUri);
builder.Path = $"{baseUri.AbsolutePath}{HELP_DIRECTORY_NAME}/index.html";

builder.Query = $"cs={TOPIC_ID}";

string absoluteUri = builder.Uri.AbsoluteUri;

иabsoluteUri:

file:///C:/ProgramData/bla/help/index.html?cs=6000

Но вызывается из моего приложения VB.Net:

file:///C:/ProgramData/bla/help/index.html%3Fcs=6000

с использованием того же кода.

Понятия не имею, если VB.Netздесь играет роль, я понимаю, что это не должно.

Как я могу помешать UriBuilder избежать моего запроса?

1 Ответ

0 голосов
/ 05 октября 2018

Как указал @PanagiotisKanavos, поведение класса Uri изменилось где-то в версии Framework 4.5.Мы переходили на 4.7.2, но забыли переключить этот проект.С 4.7.2 работает как положено.это не имеет ничего общего с VB.Net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...