Портирование приложения .net из windows в linux - PullRequest
0 голосов
/ 21 марта 2011

Я разработал приложение с использованием VB .NET в ОС Windows. Если я хочу включить это приложение для клиента, который использует Linux, как мне это сделать? Нужно ли им покупать VB .NET? Я полностью заблудился от того, как это работает. Я никогда не работал над Linux, кто-нибудь может помочь.

Ответы [ 5 ]

6 голосов
/ 21 марта 2011

Mono полностью поддерживает Windows.System.Forms, но не WPF.Это означает, что ваше приложение, скорее всего, будет работать в Linux, если установлен Mono.

Однако есть некоторые вещи, которые вам необходимо знать.Например, если вы вручную создаете пути к файлам, вам нужно это изменить.У вас есть Path.Combine и Path.PathSeparator для построения путей.

Вы также должны позаботиться о новых строках, так как Windows использует \r\n, а Linux использует \n.Используйте Environment.NewLine вместо жесткого кодирования \r\n.

У вас есть страница Mono для разработчиков: http://www.mono -project.com / Mono_For_.Net_Developers

Лучше всего анализатор миграции: http://www.mono -project.com / MoMA , который проверяет все проблемы совместимости.

2 голосов
/ 21 марта 2011

Есть два варианта:

  1. Запустите приложение с Mono
  2. Запустите приложение, используя Wine

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

1 голос
/ 21 марта 2011

В вашем приложении VB.Net, если вы не использовали какие-либо проприетарные средства для Windows (Dllimport, COM-компоненты, собственные библиотеки и т. Д.), Вы можете попытаться скопировать приложение как есть на Linux-машину с Mono и запустить ее. , Некоторые из моих приложений работали так в прошлом. Если он работает «из коробки», то вам вообще не нужно беспокоиться о компиляции приложения в среде Linux.

0 голосов
/ 21 марта 2011

Вам не нужно покупать VB.NET. Что вам нужно сделать, это выяснить, совместимо ли ваше .NET-приложение с mono. Вы можете проверить свою совместимость с MoMA и / или попробовать скомпилировать / запустить ваше приложение на linux с mono.

0 голосов
/ 21 марта 2011

Есть некоторые подводные камни: упакованные моно-разработки и компиляторы могут быть более старыми, и скомпилировать их самостоятельно нелегко в первый раз.Обычно вы получаете как минимум поддержку .NET 2.0.

В Ubuntu вы можете установить IDE и компилятор как root с:

apt-get install monodevelop mono-vbnc

, остальные должны быть извлечены как зависимости.

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