Что это за кодировка и как ее создать программно?

1

Я создавал надстройку Office с использованием инструментов Visual Studio для Office, а часть развертывания/установки надстройки создает записи реестра Windows для нее. Visual Studio автоматически создает эти записи реестра для разработчика, когда он или она создает надстройку, но они должны быть созданы другими средствами (например, установщиком), когда надстройка устанавливается/развертывается на конце -пользователь. Вот пример записи в реестре, которую я задаю:

Manifest    REG_SZ    file:///C:/Users/Ryan/Office Projects/C%23/MyProject/addin.vsto

Как программно воссоздать такую кодировку? Я предполагаю, что это не URL кодирования, так как двоеточие (:) не изменяется в %3A, пространства не изменяются в %20 с, однако # в "С#" включен в к %23... так, что делать Я называю этот тип кодирования, и как бы я перевел абсолютный путь к файловой системе в этот тип кодирования для целей создания моего собственного установщика, который писал бы такую запись в реестре?

Теги:
registry
vsto

1 ответ

2
Лучший ответ

Я думаю, что Uri - это то, что ты хочешь. Этот пример:

Debug.WriteLine(new Uri(@"C:\Test\c#file.txt").ToString());
// outputs: file:///C:/Test/c%23file.txt
  • 0
    Для меня все еще остается загадкой, почему Visual Studio создала запись реестра с пробелами в имени пути, тогда как класс Uri преобразует пробелы в% 20, но я уверен, что класс Uri все равно будет работать нормально. У меня есть догадка, что он будет работать с пробелами или % 20 ... Я протестирую это с приложением Office.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню