MacOS Mono bundle app — как получить полный путь приложения?
Есть Mono - приложение, из которого сделан монолитный исполняемый файл (при помощи mkbundle). Затем этот файл помещён в дружественную для Finder-а структуру каталогов и выглядит и запускается как обычное приложение. Проблема заключается в получении внутри приложения полного пути к установленному приложению.
Стандартные функции и свойства ( Environment.GetCommandLineArgs(), Application.ExecutablePath, Application.StartupPath) не отражают реальности - или содержат только корень в качестве диретории или только имя исполняемого файла (причём именно оригинального .exe, а не бандла).
pkabir: В промежуточном варианте - использовал вырезку из результата ps по маске имени приложения, но потом остановился на родном Mono.Mac. При его использовании Xamarin генерит честный родной бандл для макоси и там конструкция вида dirName = new Uri(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)); абсолютно правильно работает, только надо не забывать, что бандл - это несколько директорий в одном флаконе.