Как поддержать Linux для моего проекта C # - PullRequest
1 голос
/ 20 декабря 2009

У меня есть проект, который является приложением с открытым исходным кодом для определенного типа научных расчетов, который использует c ++ для внутреннего интерфейса и C # для внешнего интерфейса. Я не делаю ничего специфичного для части C ++ для Windows, поэтому надеюсь на сравнительно небольшую кривую обучения. У меня есть несколько конкретных вопросов, и я был бы признателен за любые советы в целом по этому типу перехода. Пожалуйста, имейте в виду, что я абсолютно ничего не знаю о Linux, но я готов учиться.

  1. Существует ли IDE, похожая на Visual Studio? В идеале я хотел бы настроить его так же, как сейчас, с 2 решениями C # и парой библиотек c ++. Я действительно не хочу использовать один текстовый редактор и связываться с командной строкой
  2. Есть ли какой-нибудь инструмент, чтобы дать мне представление о проблемах, которые могут возникнуть у меня при переходе?
  3. Есть ли способ перевести мои параметры Visual Studio в параметры gcc?

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

Ответы [ 3 ]

8 голосов
/ 20 декабря 2009

В Linux есть IDE, которую вы можете использовать для C # - Mono Develop . Текущая версия откроет файлы проекта и решения Visual Studio, поэтому для перехода на нее не требуется никаких знаний.

Он использует Mono проект , который является реализацией C # для Linux.

Они создали инструмент миграции ( MoMa ), чтобы вы могли протестировать свой код C # и посмотреть, будет ли он работать на Linux - он предоставит вам подсказки и объяснения того, что не переносимо и почему .

Я знаю, что это не тот маршрут с ++, о котором вы спрашиваете, но, вероятно, это будет самый простой и быстрый способ сделать вашу платформу приложений независимой.

2 голосов
/ 20 декабря 2009

Ответ на номер 1: MonoDevelop . Также поставляется с Mono , версией .NET, которая не зависит от платформы. Это необходимо использовать, когда вы делаете этот переход. Он также работает в Windows, что делает процесс обучения менее крутым.

Ответ на вопрос № 2 таков: я не знаю ... но запуск вашей программы, скомпилированной для Mono, должен дать вам четкое представление о проблемах, специфичных для вашей платформы, в вашем коде.

Ответ на вопрос № 3: попробуйте это как конкретный вопрос, который даст этому довольно сложному вопросу должное внимание и поддержку.

Ответ на вопрос №: используйте автоматическую сборку (NAnt или аналогичную) для автоматической сборки кода для нескольких целевых платформ. Однако возможно, что ваш .NET-код работает без изменений для любой платформы (в идеале это должно быть), и только ваша часть C ++ требует особого внимания.

1 голос
/ 20 декабря 2009

Все остальные уже упоминали MonoDevelope. Но есть также MoMA , который может сканировать приложение .NET и искать такие команды, как pInvoke, которые не будут переносимыми.

...