Я пытаюсь получить архитектуру компьютера, выполняющего мое программное обеспечение, и до сих пор он работает хорошо в Windows, но он не работает в Linux и OSX. Позвольте мне показать мой текущий код:Проверка архитектуры для Linux и Mac
//--Check processor architecture--
string strProcArchi = System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
string strProcArchiBis = System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432");
if((strProcArchi != null && strProcArchi.IndexOf("64") > 0) || (strProcArchiBis != null && strProcArchiBis.IndexOf("64") > 0))
{
Console.WriteLine("Processor is 64-bit");
}
else
{
Console.WriteLine("Processor is 32-bit");
}
//------
Linux и Mac всегда возвращаются «Процессор 32-разрядный», так что я думаю, что эти переменные окружения не используются за пределами Windows. Я уже несколько дней ищу работу в Интернете, но не могу найти ничего конкретного. Любые идеи о том, как достичь этого? Мне нужно загрузить различные активы, независимо от того, выполняется ли на нем 32-разрядный или 64-разрядный компьютер, поэтому эта проверка определенно важна.
Я под .NET 2.0, и я не могу использовать Environment.Is64BitOperatingSystem
или Environment.Is64BitProcess
, так как это особенность .NET 4.0.
Заранее спасибо.
Работает ли 'Environment.Is64BitOperatingSystem' или' Environment.Is64BitProcess'? –
Нет, извините, я должен был это разъяснить. Я под .NET 2.0, и это особенность .NET 4.0. Но спасибо вам все равно :) – Neper
Прошло совсем немного времени, так как у Mac были 32-битные процессоры, как вы можете видеть здесь [https://support.apple.com/en-gb/HT201948]. – TheDarkKnight