2009-05-20 2 views
14

Возможно ли запустить приложение .net в среде Linux? Если да, то как? Будут ли все компоненты .NET Framework работать на Linux?Как запустить приложение .net в среде Linux?

+2

Это дубликат http://stackoverflow.com/questions/168170/do-net-applications-run-on-linux. Ответ, как правило, да, но библиотеки, естественно, имеют тенденцию отставать. –

+0

Как мы можем работать на моно? – SANDEEP

+0

http://en.wikipedia.org/wiki/DotGNU –

ответ

15

Пожалуйста см Running .Net applications on Linux with Mono:

Представьте себе, что судьба вашей компании лежит на при завершении вашего нового проекта Linux вовремя. У вас есть команда трещин первоклассных разработчиков, но они все .Net программисты. Что вы делаете ? Признать, что Windows лучше, чем Linux? Плакать? В отставку? Нет, вы собираетесь установить Mono и сохранить мир!

5

Хотя есть альтернативы (я считаю), Mono, вероятно, то, что вы хотите.

Он не поддерживает все, что поддерживает .NET, но есть compatibility tool, который будет проверять вас. (Я бы не слепо доверять результатам инструмента совместимости быть 100% точным, так как всегда будет несколько хитрых неизвестные несовместимости, но это очень хорошее начало.)

+2

+1 не доверяйте Моно (были там, сделали это) –

+2

Что означает «не доверять»? Моно не является панацеей, но во многих случаях это очень полезно. –

+0

@Matthew: Ваш комментарий, вероятно, был больше, чем мой ответ, но я имел в виду, что не буду доверять результатам MoMA 100%. Будет редактировать ответ, чтобы сделать это более четким. –

0

Для запуска простых приложений .net mono - это инструмент по вашему выбору! Я использовал его для многих приложений, и он работал без серьезных сбоев. Однако я не стал бы рекомендовать начать разработку на Mono. Некоторые люди в моем классе пытались сделать C# на Linux с моно, и ужасно потерпели неудачу.

Когда вы делаете простые вещи, это работает хорошо, но когда вы переходите к более продвинутым материалам, например, с помощью NHibernate или что-то в этом роде, это может вас не сбить. И вы пропустите самое лучшее о .net - среде разработки и что все работает вместе, потому что все предоставляется Microsoft.

1

Существует также MainSoft, который позволяет запускать среду J2EE на Linux. Он в основном компилирует источник .NET в байт-код Java.

0

Новый ответ для старого вопроса, так как технология улучшается. Возможно, вы также рассмотрите возможность запуска приложения в качестве приложения с ядром dotnet. Тот же самый код будет работать nativly с Mac OS или Windows и Linx загрузки Dotnet выполнения для вашей операционной системы и от типа консоли Dotnet. \ Yourapp.dll

0

Обновленный ответ на 2018 года с текущим состоянием Mono Project in Linux.

mono repos exist for:

Ubuntu 
Debian 
Raspbian 
CentOS 
Fedora 
Docker 

инструкции предполагают установки mono-complete - на Centos я также должен был установить mono-basic для VB.NET работать. Текущий уровень поддержки VB.NET является:

default runtime: v4.0.30319 

который достаточно хорош, чтобы запустить VB.NETXML клиент, который требовал 3.5 выполнения:

enter image description here

Смежные вопросы