오픈 소스 .NET 프레임워크가 내장된 Windows 프로그램 호환성을 허용합니까?

오픈 소스 .NET 프레임워크가 내장된 Windows 프로그램 호환성을 허용합니까?

아마도 소수의 사람들이 알고 있듯이 Microsoft는 .NET 애플리케이션 프레임워크를 오픈 소스로 만들었습니다.

이는 Linux에서 더 많은 Windows 프로그램을 실행할 수 있고 API를 직접 통합하여 와인 속도를 높이는 것이 가능하다는 것을 의미합니까? 아니면 bash를 사용하도록 작성된 프로그램만큼 원활하게 실행되도록 기본적으로 통합할 수 없는 개발 시스템에 더 가깝습니까?

저는 와인을 사용해 본 결과, 와인이 기본적으로 설치된 배포판에서도 가장 기본적인 프로그램에서도 느리게 실행되고, 가상 디스크 등을 사용하면 사용하기가 힘들다는 사실을 발견했습니다. 코어/커널 수준에서 API를 통합하고 슬래시가 다르게 표시되도록 몇 가지 사항을 변경하고 보고된 Windows 버전을 가져와 기본적으로 실행되도록 하는 것이 가능합니까? 이것이 돼지가 스스로 날아가야만 가능하다고 생각하는 사람이 있다면 절대로 안 된다고 말해 주세요. 하지만 한 단어로 대답하는 것이 아니라 왜 그것이 안 되고 안 되는지 구체적으로 알고 싶습니다.

답변1

와인이 그것과 무슨 관련이 있습니까? 잠시 동안 그것을 무시합시다.

Microsoft는 .NET의 핵심 부분을 오픈 소스화하고 ASP.NET을 기존보다 더 오픈 소스로 만들고 있습니다. 이 두 부분을 사용하면 명령줄 응용 프로그램과 ASP.NET 웹 사이트를 만들 수 있습니다. 이와 같은 기존 애플리케이션이 있는 경우 결국에는 Linux 대상을 만들고(필요한 경우) Ubuntu에서 기본적으로 실행할 수 있습니다.

즉, GUI 애플리케이션과 같은 것을 만드는 데 필요한 전체 .NET 구성 요소가 있습니다. Windows에서 개발자는 Windows Presentation Foundation과 같은 기능을 사용하여 화면에 그림을 그립니다. Mono에서는 GTK# 및 Qt#과 같은 것을 사용할 수 있습니다. 크로스 플랫폼 애플리케이션을 원한다면 크로스 플랫폼 툴킷이 필요합니다.

그것은 처음에는 별로 변하지 않을 것이라고 말하는 매우 장황한 방법입니다. 개발자는 크로스 플랫폼 앱을 원할 경우 이전에도 Mono를 사용할 수 있었고 지금도 사용할 수 있습니다. 앞으로는 Mono의 툴킷을 VS.NET 프로젝트로 가져오는 것이 더 쉬울 것입니다. 그렇지 않으면 MS는 WPF를 크로스 플랫폼 툴킷으로 대체할 것입니다.

와인으로 돌아갑니다. Wine에서 실행되는 .NET 응용 프로그램에는 프레젠테이션 라이브러리를 제공하기 위한 무언가가 여전히 필요하며 (기본 Windows 라이브러리인 경우) 계속해서 수행해야 합니다.~을 통해와인은 그들에게 적합한 환경을 제공합니다. Wine은 여전히 ​​.NET이 기반으로 하는 애플리케이션과 하드웨어(Linux를 통한 가상 하드웨어) 사이의 연결 고리입니다. 나는 그 배열이 곧 바뀌는 것을 볼 수 없습니다.

관련 정보