Как программно определить, установлен ли 64-битный Mono в Windows? - PullRequest
0 голосов
/ 10 сентября 2018

Я нашел эти настройки реестра

enter image description here

Предполагая, что пользователь установил моно 64-битный MSI, могу ли я в коде C # прочитать реестр и положиться на

  • 1 + 2 , указывающий, что установлен Mono 64 bit
  • 3 , где папка Mono lib -
  • 4 , где находится папка конфигурации Mono и
  • 5 , где расположен mono-2.0-sgen.dll.

Я спрашиваю, потому что

  1. Я не нашел этого документа на веб-сайте Mono (например, Часто задаваемые вопросы по Mono: технические вопросы , Установка Mono в Windows , Документация Mono Runtime , Mono Runtime Documentation )
  2. Возможно, есть лучший / альтернативный подход. (например, GAC ... я не заинтересован в GAC, но, возможно, ...)

(я предполагаю, что что-либо в узле Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node будет 32-битным и не будет указывать на 64-битное моно.)


Обновление Я спрашивал на Mono-Github и вот их ответ: https://github.com/mono/mono/issues/10535

1 Ответ

0 голосов
/ 10 сентября 2018

.NET предоставляет серию классов для чтения записей реестра Здесь - пример того, как это сделать. Другой пример: здесь

В вашем случае расположение ключа номер 1 на опубликованном рисунке, ключ "Архитектура", "x64" и т. Д.

Попробуйте этот код по ссылке выше и посмотрите, работает ли. Некоторая адаптация должна быть сделана.

Если вы получили сообщение об ошибке с правами администратора, попробуйте запустить Visual Studio от имени администратора.

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