Получить общий путь Windows с запущенной подсистемой Ubuntu - PullRequest
0 голосов
/ 11 мая 2018

Я занимаюсь разработкой приложения .NET Core (dotnet) на C #, которое должно работать в Windows 10, Linux И в подсистеме Linux, которое можно установить в Windows 10.

Проблема в том, что приложение должно хранить файлы в общем месте, чтобы позволить другому приложению использовать их. То есть другие приложения (которые являются клиентами) должны разрешать тот же путь, что и это приложение. Таким образом, один и тот же код должен быть добавлен во всех клиентах, чтобы знать, где хранятся файлы.

Я много искал и нашел это решение:

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData));

Это возвращает меня в Windows:

C:\ProgramData

И в Linux:

/usr/share

Мне нравится это решение, но проблема здесь в том, что когда программа работает в подсистеме Linux, я хочу использовать путь, к которому можно получить доступ из приложений, работающих под Windows.

Я знаю, что Windows монтируется в / mnt / c / в подсистеме Linux, но вы не хотите иметь жестко закодированные пути.

Есть ли способ программно (в подсистеме Linux) проложить путь на хосте Windows? То есть, если программа работает в Linux изначально, путь, который возвращается, равен / usr / share НО, если это подсистема, путь, который возвращается, равен / mnt / c / ProgramData ( или что-то подобное).

Спасибо!

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