В этом конкретном случае мне нужно запустить .complicated NET приложение для Linux. Сложным я имею в виду - этот проект был разработан в течение 3 лет, и я не хочу писать его снова в java или что-то еще, и разработайте и поддержите обе версии .NET и Java позже.
Приложение генерирует события мыши и клавиатуры (путем импорта winapi/dll) и использует последовательный порт. У меня также есть несколько таймеров для задержек - для связи через последовательный порт (10-20 мс, мне здесь не нужна большая точность).
Остальное - это просто простой код, ничего особенного, никаких странных элементов управления, нет directx и т.д.
Чего я должен ожидать? Будет ли это работать?
Если какая-то часть кода не удалась - я могу немного ее изменить, сделайте сетевое соединение между .net-приложением и мини-приложением на linux, которое я могу написать для отправки событий мыши и клавиатуры или связи RS232.
Кроме того, я хочу спросить о Wine и .NET в целом:
Как писать приложения .NET, которые должны запускаться в Linux/Wine/Mono?
- какая версия фреймворка? (1.x, 2.0 или я могу использовать 3.5?)
- Чего следует избегать (импорт из dll-dll windows?)
Изменить/переместить из комментария:
Я видел моно несколько лет назад, но это было ужасно. Теперь я вижу, что он вырос, поддерживает LINQ, Threading и другие сложные функции. Кроме того, теперь помощь выглядит очень серьезно. Я еще не принимаю ответ, потому что вижу, что люди все еще публикуют очень полезные ссылки. Если этот вопрос получит много +1, я переписал его, и, возможно, это поможет другим.
Я надеюсь, что у кого-то здесь есть практический опыт работы с .NET на linux здесь...