Mono на Windows (и общие вопросы) - PullRequest
       6

Mono на Windows (и общие вопросы)

1 голос
/ 11 февраля 2011

Я установил MonoDevelop в Linux и написал приложение оболочки GTK +. Когда я компилирую и запускаю приложение правильно отображается в Linux. Когда я перемещаю .exe в Windows, я получаю сбой «Windows Not Responding», поэтому нет трассировки стека. Тогда я решил, что должен был установить Mono For Windows, поэтому я сделал это, но не повезло - я все еще вылетал.

В общем, мне трудно представить, что здесь происходит. Пожалуйста, отвлеки меня от всего, что я ошибаюсь:

  1. Люди, которые начали проект Mono, написали свой собственный компилятор (вероятно, с нуля) для компиляции кода C #. Они смоделировали это, посмотрев на .NET Framework
  2. Они также написали CLR для своей моно реализации байт-кода. Любая архитектура, которая хочет запустить этот код, будет нуждаться в Mono Runtime, поскольку только Mono Runtime может выполнять код.

Я правильно понял? Почему моя программа не запускается? Заранее спасибо.

Ответы [ 5 ]

5 голосов
/ 11 февраля 2011

Три вещи выделяются для меня:

  1. GTK +.GTK не является частью Windows или моно на Windows по умолчанию.Вы должны установить его отдельно.
  2. Shell Application.Это означает что-то особенное в мире Windows (приложение, которое работает как часть (расширяет) оболочку рабочего стола Windows, а не как его собственная программа), и я не удивлюсь, узнав, что они не работают перекрестноПлатформа очень хорошо или даже вообще.Я бы предположил, что вы имеете в виду «Консольное приложение» вместо этого, но тогда зачем нужен GTK +?
  3. Mono.Убедитесь, что вы вызываете программу, используя моно.То, что моно установлено, не означает, что ваша программа будет работать по сравнению с собственной реализацией Microsoft .Net.
1 голос
/ 11 февраля 2011

Привет, я только смутно знаком с Mono, но, думаю, есть инструмент для анализа, который покажет возможные проблемы с переносимостью.Если вы пробежите через это, это показывает какие-либо проблемы?

0 голосов
/ 12 февраля 2011

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

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

0 голосов
/ 11 февраля 2011

Полагаю, вы имеете в виду, что написали приложение GTK #.В этом случае, чтобы запустить его в Windows, вам необходимо убедиться, что вы установили «GTK # for .NET» со страницы Mono Downloads

0 голосов
/ 11 февраля 2011

Мало что вы тоже проверяете.

Является ли моно установщик содержит библиотеки GTK #.

Если да, проверьте, что сборки находятся в GAC. Имена сборочных файлов: gtk-sharp.dll, gdk-sharp.dll

Если нет, скопируйте указанные сборки в каталог bin. Вы можете видеть это в своем моно-проекте.

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