Откройте Блокнот из UWP, преобразованного из приложения Windows Form - PullRequest
0 голосов
/ 03 июля 2018

У меня есть приложение Windows Form, которое я преобразовал в UWP и которое содержит файл журнала. Если файл журнала не существует, при запуске создается пустой файл журнала. Для версии Windows Form файл журнала создается в пользовательской папке AppData. Для UWP файл журнала создается в перенаправленной папке C: \ Users \ Имя пользователя \ AppData \ Local \ Packages \ AppName_Plus_Random_Characters \ LocalCache \ Roaming \ Company_Name \ App_Name. У меня есть доступ на чтение / запись к файлу журнала в обеих версиях приложения.

Чтобы позволить пользователю просматривать файл журнала из приложения, приложение вызывает пользовательское приложение .txt (обычно Блокнот). Это работает в обеих версиях, но с версией UWP Блокнот получает исходный путь Windows Form к папке AppData к файлу журнала, а не к перенаправленному пути UWP. Если старый файл журнала существует в пользовательской папке AppData, из предыдущего выполнения версии Windows Form NotePad откроет старый файл журнала при вызове из UWP.

Как получить версию UWP для отправки перенаправленного пути к файлу журнала в Блокнот?

Версия окна 17134.112 Базовый образ Windows_BaseImage_DAC_17134.wim

1 Ответ

0 голосов
/ 04 июля 2018

Как получить версию UWP для отправки перенаправленного пути к файлу журнала в Блокнот?

Если вы хотите получить перенаправленный путь к преобразованному приложению WinForm, вы можете использовать современный ApplicationData API как для чтения, так и для записи, и вам не нужно будет знать о фактическом местоположении. Например, Roaming, который используется в вашем случае. Вы можете получить это, как показано ниже.

var foloder = ApplicationData.Current.RoamingFolder;

Тогда вы можете использовать Windows.Storage, чтобы получить файл из базы папок выше. ApplicationData см. . Для Windows Storage см. это .

...