Linux 시스템에서 C #에 대한 지식이 있습니까?


44

나는 C #을 알고 있으며 시스템 간을 전환하고 Linux를 사용하고 싶습니다. C #을 사용하여 Linux에서 기본적으로 작동하는 응용 프로그램을 작성할 수 있습니까? Linux 시스템에서 C #에 대한 지식을 활용하려면 어떻게해야합니까?

Unity3D를 전문으로하지만 C #을 사용하여 Linux 응용 프로그램을 만들고 싶습니다.


1
KerbalSpaceProgram은 Unity로 작성되었으며 Win / Mac / Linux에서 실행됩니다. KSP에 대한 플러그인 / 모드는 C #으로 작성되었으며 Win, Mac 또는 Linux에서 개발 될 수 있습니다. $ REASONS에 Linux 대신 Mac을 주로 사용하지만 Windows가 아닌 C #으로 해당 플랫폼에서 KSP 모드 개발을 수행합니다. KSP 외부에서 xUnit 테스트를 사용하여 독립형 C # 코드를 곧 작성할 것입니다. 다른 개발과 마찬가지로, 모노로 실행해야합니다. MechJeb에는 Mac + Linux에서 빌드되는 Makefile의 예가 있습니다. github.com/MuMech/MechJeb2/blob/master/Makefile(KSP 게임 dll이 링크 필요).
lamont

3
C # 응용 프로그램은 일반적 으로 어디서나 기본적 으로 실행되지 않습니다 .
Monica Harming 중지

@OrangeDog Windows에서도 .Net 프레임 워크를 설치해야한다는 것을 알고 있습니다. 내가 "기본적으로"말하면 에뮬레이션 또는 호환성 계층이 없음을 의미합니다. 기본적으로 리눅스는 얼마나 많은 프로그램이나 패키지를 설치해야하는지에 따라 지원합니다.
Jacob

2
이 중 우분투와 어떤 관련이 있습니까?
underscore_d

2
@underscore_d 어디서 들었는지 모르겠지만 사실이 아닙니다. 주제에 대한“우분투에만 국한된”질문이 있습니까?를 참조하십시오 . 많은, 많은 우분투 질문에 대한 질문은 GNU / 리눅스 시스템의 대부분에 동일하게 적용됩니다. 어쩌면 누군가 가이 질문을 주제를 벗어난 것으로 간주하는 그럴듯한 이유를 찾을 수는 있지만 그렇지 않은 경우에는 그렇지 않습니다. (, BTW이는 않습니다 우분투 특정 정보와 답변을 내 자신의 게시물의 두 번째 단락은 우분투 패키지에 관한 것입니다, 그것은 다른 배포판을 일부 이상 수행, 전부는 아니지만,..)
엘리야 케이건

답변:


55

http://www.mono-project.com/에서 우연히 발견 될 것입니다 .

현상태대로 모노 소개 페이지는 말한다 :

.NET Framework 기반의 오픈 소스 개발 플랫폼 인 Mono는 개발자의 개발자 생산성 향상을 통해 크로스 플랫폼 애플리케이션을 구축 할 수 있도록합니다. Mono의 .NET 구현은 C #Common Language Infrastructure 에 대한 ECMA 표준을 기반으로합니다 .

지원되는 플랫폼은 리눅스를 포함한다.


2
모노 ... 친숙한 소리 ... 예, 이것이 유니티에 기초한 것입니다! 별도로 사용할 수 있다는 것을 몰랐습니다. Unity3d의 일부라고 생각했습니다.
Jacob

41
최신 버전의 Microsoft 구현 (.Net Core)도 Linux를 지원합니다.
BlueRaja-대니 Pflughoeft

6
모노는 코어 만이 아니라 .net 표준 2.0 (iirc)을 구현합니다.
casey

13
이것은 몇 년 전 좋은 대답이었을 것입니다. 이제는 거의 쓸모가 없습니다.
Konrad Rudolph

1
@KonradRudolph 더 이상 사용되지 않습니까? 그러나 .NET 코어는 기본적으로 프로덕션 레벨 프로그램에 NuGet 종속성이 필요하지 않습니까? 또는 다른 대안이
누군가

72

예, Ubuntu에서 C #으로 Ubuntu에서 실행되는 소프트웨어를 개발할 수 있습니다. Mono.NET Core 는 모두 Ubuntu와 같은 GNU / Linux 시스템을 지원 합니다. ( Debian, Raspbian, Fedora, CentOS, Arch, Gentoo 등과 같은 다른 배포판 에서도 사용할 수 있습니다 .) Unity3D 게임 엔진은 아마도 우분투를 지원합니다. Unity3D 는 Mono를 포함 합니다.

공식적으로 커뮤니티 지원 소프트웨어 소스의 Ubuntu 패키지 관리자와 함께 설치할 수있는 Ubuntu 용 패키지는 C #으로 작성되며 Mono를 사용합니다. 여기에는 음악 플레이어 Banshee , notetaking 앱 Tomboy , 래스터 그래픽 편집기 Pinta 및 암호 관리자 KeePass (버전 2부터)가 포함됩니다.

Gedit, Vim 및 Emacs와 같은 대부분의 텍스트 편집기에는 C #에 대한 구문 강조 표시가 있습니다. MonoDevelopVisual Studio Code 는 Ubuntu에서 실행되고 C # 개발을 지원하는 널리 사용되는 두 가지 통합 개발 환경입니다.


10
ReSharper for Visual Studio의 모든 기능을 포함하는 인텔리전트 아이디어 기반 C # 용 IDE 인 Rider도 언급 할 수 있습니다.
Wilbert

이 답변을 조정하여 다른 Linux 배포판이 있음을 암시 할 수 있습니다. 그들은 또한 모노를 제공하거나 지원할 것이기 때문에 조금 더 중립적이고 포용적일 수 있습니다.
user2066657

@ user2066657 제안 해 주셔서 감사합니다. 편집했습니다. 모노와 .NET 코어가 어떻게 우분투 ( "우분투와 같은 GNU / 리눅스 시스템")에 한정되지 않았는지를 명확히하려고했습니다. 그러나 추가로 고려할 때, 내가 무엇을 말하려고했는지 아직 모르는 독자에게는 이것이 명확하지 않을 수 있습니다. 그래서 나는 그 부분을 확장했습니다. 이 수정 사항이 만족스럽지 않을 수 있음을 알고 있습니다.보다 포괄적이지만 중립적 이지는 않았습니다 . 이 사이트의 게시물이 우분투를 강조하는 것이 합리적입니다. 다운 스트림 우분투 패키지가 포함 된 C # 프로그램의 예를 제공하는 중간 부분은 의도적으로 우분투에 중점을 둡니다.
Eliah Kagan

OP가 우분투가 아닌 OS에 대해 묻고 싶다면 Unix & Linux 에서 질문했을 것입니다 .
Mr Lister

@MrLister 예, 동의했습니다. 그러나 나는 내가 추가 한 설명으로 무언가가 얻어지고 잃어버린 것이 없다고 생각합니다. 그래도 게시물을 전체적으로 수정하지는 않습니다. 예를 들어, MonoDevelop 및 Visual Studio Code 배포판을 설치하고 사용하기가 쉬운 배포판에 대해 이야기하는 것을 고려했지만 다소 복잡하고 톤과 포커스 (길이 및 길이)가 변경 될 수 있습니다. )의 게시물입니다.
Eliah Kagan

20
  1. 이제 Java 또는 Python을 사용할 수있는 것처럼 C # ( .NET Core 프레임 워크)을 사용하여 Linux에서 서버 응용 프로그램을 개발할 수 있습니다 . 서버 응용 프로그램이란 웹 응용 프로그램 및 웹 서비스 (REST) ​​응용 프로그램을 주로 의미합니다. 이는 Linux 컨테이너 ( Docker / K8s) 및 클라우드 와 완벽하게 일치 합니다.
  2. Mono Framework (.NET 구현) 및 GTK # (GtkSharp) 툴킷 (GTK 래퍼)을 사용하여 C #으로 데스크탑 애플리케이션을 개발할 수 있습니다. 그것에 개발 된 많은 프로젝트가 있습니다. 이 프레임 워크는 과거 Linux 커뮤니티의 일부에 의해 일부 저항을 가졌습니다. 일부 배포판 및 사용자는 모노 응용 프로그램을 원하지 않았습니다.
  3. Linux에서 C #을 사용하여 Unity Engine으로 게임을 개발할 수 있습니다. Unity Editor는 아직 Linux에서 실험 중입니다.

예. C #에 대한 지식은 오늘날 Linux 시스템에서 매우 유용 할 수 있습니다.


4
.NET Core에서 데스크톱 응용 프로그램을 수행 할 수도 있습니다.
PmanAce

2

이제 .Net Core 및 Avalonia라는 새로운 프로젝트를 사용하여 XAML 기반 프런트 엔드 크로스 플랫폼 (Linux, Mac, Windows, Android, iOS, UWP) 앱을 수행 할 수도 있습니다. Avalonia는 베타 버전이지만 지금은 잘 작동합니다. WPF와 비슷하지만 스타일링과 같은 일부 CSS와 같은 기능이 있습니다.

나는 리눅스 Avalonia가 현재 Gtk를 목표로 삼고 있다고 생각하지만 그들은 다른 것으로 옮기고 싶어한다. 이 비디오에서 IT에 대해 언급했지만 https://www.youtube.com/watch?v=WESJUJWBLJ0의 말을 개인적으로 이해할 수 없었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.