Компактный каркас не поддерживает Assembly.GetEntryAssembly для определения запуска .exe. Так есть ли другой способ получить имя исполняемого файла .exe?
РЕДАКТИРОВАТЬ: я нашел ответ в блоге Питера Фут: http://peterfoot.net/default.aspx
Вот код:
byte[] buffer = new byte[MAX_PATH * 2];
int chars = GetModuleFileName(IntPtr.Zero, buffer, MAX_PATH);
if (chars > 0)
{
string assemblyPath = System.Text.Encoding.Unicode.GetString(buffer, 0, chars * 2);
}
[DllImport("coredll.dll", SetLastError = true)]
private static extern int GetModuleFileName(IntPtr hModule, byte[] lpFilename, int nSize);