Как выбрать файл (OpenDialog) в консольном приложении .NET для Mac? - PullRequest
0 голосов
/ 05 ноября 2018

Можно ли использовать встроенный инструмент выбора файлов для выбора файла из консольного приложения .NET в MacOS? Есть ли другой способ выбора файлов, или я, вероятно, пропускаю некоторые ссылки?

Я пытался использовать стандартный System.Windows.Forms OpenFileDialog, который, как я думал, будет работать через Mono, но безрезультатно. Я использую VS2017 для Mac, и у меня установлены стандартные пакеты .NET.

Не похоже, что это должно быть сложной задачей, но я не могу найти какое-либо конкретное руководство в Интернете. Спасибо!

Ответы [ 2 ]

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

Как следует из названия, System.Windows.Forms не является частью стандартного .Net, и поэтому ожидается, что он будет работать только при разработке приложений Windows с использованием интерфейса Windows.Forms (он не будет работать даже в Windows на Universal Windows Platform).

Учитывая Mono, он отображает элементы управления macOS Cocoa, поэтому для этого есть класс NSOpenPanel: https://developer.xamarin.com/api/type/MonoMac.AppKit.NSOpenPanel/

Не уверен, как это работает с консоли, но System.Windows.Forms точно не может, потому что это никак не реализовано в Mono.

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

Нет, Mono реализует свой собственный FileDialog , в противном случае бремя предоставления реализации будет перенаправлено во время выполнения Mono, где для каждой конкретной ОС будет показан собственный пользовательский интерфейс. Команда Mono решила этого не делать.

...