문제

누군가 사용되는 모노,오픈 소스입니다.NET 구현에 큰 중간 크기의 프로젝트가 있습니까?나는지 궁금하다면 그것의 진정한 세계,생산 환경입니다.그것은 안정되어 있는,빠르고,호환성,...충분한 사용할 수 있나요?그것은 많은 노력을하는 포트는 프로젝트 모노 런타임이나 그것은 정말, 호환되는 것만으로는 충분하고의 및 실행은 이미 작성된 코드에서는 Microsoft 의 런타임은?

도움이 되었습니까?

해결책

의 몇 가지 시나리오를 고려해야 합니다:(a)이식하는 경우 기존 응용 프로그램과 궁금하는 경우 모노이 충분히 좋은 이 작업(b)당신은 시작 일부를 작성하는 새로운드,그리고 당신이 알고 싶어하는 경우 모노이 성숙한 충분합니다.

을 위한 첫 번째 경우 사용할 수 있습니다 모노 마이그레이션 해석기 도구 (Moma)을 평가하는 방법까지 응용 프로그램에서 실행 모노.는 경우 평가 돌아온 색상을 비행,당신은 시작해야에서 테스트와 품질 보증 및 준비하고 있습니다.

하는 경우 평가 있는 보고서 기능을 강조하는 것은 누락되거나 크게 다르에서 그들의 의미를 모노에서 당신은 여부를 평가하는 코드를 적용할 수 있습 다시,또는 최악의 경우에는지 여부를 응용 프로그램과 함께 작업 할 수 있는 감소 기능이 있습니다.

에 따라마는 통계에 따라 사용자가 제출(이것은 메모리에서)약 50%의 응용 프로그램 작업자에 대한 25%의 필요에 대한 주의 가치가 작업(refactoring,적응)15%필요로 심각한 헌신을 다시 실행하의 덩어리 코드고,나머지는 그냥 가치가 있지 않는 귀찮게 이식 이후 그들은 그렇게 믿을 수 없을만큼이 있음을 Win32.그 시점에서,어느 당신은에서 시작,또는 사업 결정을 내릴 것이라이브를 만들기 위해 노력하 휴대용 코드,하지만 우리가 말하고 있는 개월의 가치가 작업(적어도에서 보고서 우리는).

는 경우에 당신은 처음부터 시작하는 상황이 많이 간단하기 때문에,당신은 당신 Api 를 사용하여 존재하는 모노.만큼 당신이 지원되는 스택(는 꽤 많.NET2.0,플러스는 모든 코어 업그레이드에서 3.5 포함 LINQ 및 시스템입니다.핵심,플러스의 모노 크로스-플랫폼 Api)당신은 잘 될 것입니다.

매번 당신 동안 실행될 수 있으로 버그에서 단청 또는 제한해야 할 수 있습니다 그들의 주위에 일하지만,되지 않은 다른 다른 어떤 것보다 시스템입니다.

으로 휴대:ASP.NET 애플리케이션은 쉽게 사람을하는 포트로,사람들은 약간의 종속성 Win32 고도 사용할 수 있습니다 SQL 서버나 다른 인기있는 데이터베이스(거기에 많은 묶는 데이터베이스는 공급자와 모노).

Windows.형태의 이식은 때로는 까다롭기 때문에 개발자를 탈출.NET 샌드박스와 P/Invoke 그들의 머리를 구성하는 것을 유의하시기 바꾸 커서의 깜빡임 속도로 표현되는 두 개의 베지 점에서 인코딩된 BCD 양식에서 wParam.또는 일부 정크와 같습니다.

다른 팁

그것은 꽤 광범위한 범위까지.NET4.0 심지어 일부를 포함한 특징이다.NET4.5Api,하지만 몇 가지는 영역에 우리가 선택한 구현하지 않으로 인해 Api 를 사용함으로 인해 사용되지 않으며,새로운 대안을 만들거나의 범위는 너무 큽니다.다음과 같은 Api 에서 사용할 수 있는 모노:

  • 윈도우 프레젠테이션 Foundation
  • Windows 워크플로우 기초(도의 두 가지 버전)
  • 엔터티 Framework
  • 이 WSE1/WSE2"add-ons"표준 웹서비스 스

또한,우리의 WCF 구현하는 것을 제한하 Silverlight 지원합니다.

가장 쉬운 방법을 확인하는 귀하의 특정 프로젝트 실행 모노 마이그레이션 해석기(MoMA).이 혜택은 그것에게 통지합니다 모노 팀의 문제는 사용하지 못하노(있다면)사이의 우선 순위를 정하는 일이다.

나는 최근에 MoMA 에 아음속하고 하나의 문제를 발견-이상의 사용에 null 을 허용 유형입니다.는 코드 베이스,그래서 그 적용 범위가 매우 인상적입니다.

모노이에서 활동에 사용하기 여러 상업뿐만 아니라 오픈 소스 제품.그것은에서는 분쇄기로 분쇄하거나 소각을 통하여 큰 등의 응용 프로그램 Wikipedia 페이 개발자 센터, 며,사용되었다는 임베디드 응용 프로그램에서 등의 산사 MP3 플레이어 능력의 수천에 게시된 게임이다.

서의 언어 수준 모노 컴파일러가 완전히 준수하는 C#5.0 어 사양.

데스크톱에서 측 모노동에 투입 하는 경우 사용하여 프로그램#.Windows.형태로 구현은 여전히 약간의 버그(예를 들어,TrayIcon 의 작동하지 않는)하지만 그것은 내용을 알아보았습니다.또,사용자 인터페이스 그리고#은 더 나은 toolkit Windows 형식으로 그것입니다.

웹에서 측 모노가 구현한 충분 ASP.NET 을 실행하는 대부분의 사이트에 완벽하다.어려움이 여기를 찾는 호스트가 있는 mod_mono 에 설치된 아파치,또는 그 일을 자신이 있는 경우 쉘에 액세스하는 호스트.

어느 쪽이든,모노이고 안정적입니다.

중요한 것을 기억을 만들 때 크로스 플랫폼 프로그램:

  • 사용 GTK#대신합니다.Forms
  • 지 확인을 제대로 경우에 당신의 파일 이름
  • Path.Separator 대신에의 하드 코딩 "\", 또한,사용 Environment.NewLine"\n".
  • 를 사용하지 않는 모든 P/호출 전화 Win32API 를 사용합니다.
  • 를 사용하지 않는 Windows 레지스트리에 있습니다.

나 개인적으로 사용하 모노 주간 env.실행 모노는 서버를 다룰 기가 바이트의 udp/tcp 데이터 처리 관련 작업과 행복 할 수 없습니다.

있는 특색을 가지고 하는 것입할 수 없습니다 단지 구축""당신의 msbuild 파일로 인해 모노의 현재 상태:

  • Monodevelop 는(IDE)는 몇 가지 부분 msbuild 지원하지만,기본적으로 보관하에서는"진짜"build conf 를 넘어서는 간단한 안녕하세요-세계(사용자 정의를 구축 작업을 동적"속성"을 다음과 같$(SolutionDir),실제 구성하는 몇 가지 이름으로 죽은 끝까지)
  • xbuild 는 mono-공급-msbuild-완벽하게 호환되는 빌드 시스템은 더 끔찍한,그래서 그 건물은 명령행에서 실제로 더 경험을 GUI 를 사용하여는,매우"특"상태의 연합 리눅스 환경에서...

한/중 점점 재료로 내장,당신은 중 일부를 볼 수 있습니다 황야에도를 위한 코드가 지원되어야 한 다음과 같:

  • 컴파일러를 얻 borked 에 특정 구조물
  • 및 특정 고급/new.NET 클래스로 던지는 않은 것으로 쓰레기에서 당신은(XLinq 누구?)
  • 일부 미성숙한 런타임"기능"(3GB 힙에 대한 제한 x64...스포츠 도박에 사용되는 방법이다.)

그러나 부풀어 오르고 말하는 일반적으로 말하면 일을 시작은 매우 빠르게 작업,그리고 솔루션/풍부한 해결 방법.

일단 당신이 사라 그 이상의 초기 장애물,내 경험 모노 바위와 발전을 반복할 때마.

나는 서버를 실행하는 모노,처리 300GB 의 데이 하루의 톤,p/호출과 일반적으로 많이하고 작업하고 5~6 개월,심지어"최첨단"모노.

이게 도움이 되었으면 좋겠습니다.

권고에 대한 수락 응답이 날짜가 지금입니다.

  • Windows 형태로 구현하는 것은 매우 좋은 이제.(참조하십시오 페인트 모노 에 대한 포트의 Paint.net 매우 참여 Windows forms 응용 프로그램입니다.모두 필요했던 에뮬레이션 층을 위해 몇 가지의 P-Invoke 및 지원하지 않는 시스템 호출).
  • 경로에 있습니다.결합뿐만 아니라 경로입니다.구분하여 가입하세한 경로와 이름.
  • Windows 레지스트리를 확인만큼 당신은 그것을 사용하여 위한 데이터 저장 및 검색에서 당신의 응용 프로그램(즉당신이 얻을 수없는 정보에 대한 윈도우에서이기 때문에,그것은 기본적으로 레지스트리를 위한 모노 응용 프로그램).

를 사용하려면 WPF 당신 'rr 운 모노 현재는 계획이 없다 그것을 구현합니다.

http://www.mono-project.com/WPF

론,모노이 좋은,하지만 지금까지 나는 볼 수 있습니다,그것이 불안정합니다.그것은 작동하지만,결함을 줄 때 모노 프로세스에 심각한 작업을 할 수 있습니다.

TL;DR-사용하지 않는 경우 모노:

  • 사용 AppDomains(어셈블리에 부여되)멀티 스레드 환경
  • 을 유지할 수 없'하자-그것은 실패 모델
  • 경험을 가끔씩 무거운로드 이벤트를 시행하는 프로세스

그래서,사실입니다.

우리가 사용하는 모노 2.6.7(.net v3.5)에 RHEL5,우분투하고,하 나의 관점,그것은 대부분의 안정 버전에 의해 건축되는 Novell.그것은 문제가 언 AppDomains(segfaults),그러나,그것은 실패하면 매우 드문이,지금까지 허용하여(us).

괜찮습니다.하지만 당신이 원하는 기능을 사용하다.net4.0,당신은 스위치 버전 2.10.x,또는 3.x,그리고 문제가 시작됩니다.

에 비해 2.6.7,새로운 버전은 허용될 수 있습니다.내가 쓴 간단한 스트레스 테스트 응용 프로그램을 테스트 단청으로 설치됩니다.

그것은 여기,지침과 함께 사용: https://github.com/head-thrash/stress_test_mono

그것은 사용하는 스레드 풀 Worker Threads.작업자 부 dll 을 사용되지 않고 수학을 할 수 있습니다.의 일부 작업은 많은 스레드,일부입니다 하나의.거의 모든 작업은 CPU-bound 있지만,일부 읽어서 파일의 디스크에 있습니다.

결과가 아주 좋지 않다.사실,버전 3.0.12:

  • 으로 청구 GC segfaults 프로세스는 거의 즉각
  • 모노과 boehm 더 이상 살고(2~5 시간)지만,결국 segfaults

위에서 언급한 바와 같이,으로 청구 gc 작동하지 않는(단 소스에서 구축):

* Assertion: should not be reached at sgen-scan-object.h:111

Stacktrace:


Native stacktrace:

    mono() [0x4ab0ad]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x2b61ea830cb0]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x2b61eaa74425]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x2b61eaa77b8b]
    mono() [0x62b49d]
    mono() [0x62b5d6]
    mono() [0x5d4f84]
    mono() [0x5cb0af]
    mono() [0x5cb2cc]
    mono() [0x5cccfd]
    mono() [0x5cd944]
    mono() [0x5d12b6]
    mono(mono_gc_collect+0x28) [0x5d16f8]
    mono(mono_domain_finalize+0x7c) [0x59fb1c]
    mono() [0x596ef0]
    mono() [0x616f13]
    mono() [0x626ee0]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a) [0x2b61ea828e9a]
    /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x2b61eab31ccd]

로 boehm segfauls-예를 들어(Ubuntu13.04,모노 소스에서 구축):

mono: mini-amd64.c:492: amd64_patch: Assertion `0' failed.
Stacktrace:
at <unknown> <0xffffffff>
at System.Collections.Generic.Dictionary`2.Init (int,System.Collections.Generic.IEqualityComparer`1<TKey>) [0x00012] in /home/bkmz/my/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:264
at System.Collections.Generic.Dictionary`2..ctor () [0x00006] in /home/bkmz/my/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:222
at System.Security.Cryptography.CryptoConfig/CryptoHandler..ctor (System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>) [0x00014] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/Crypto
Config.cs:582
at System.Security.Cryptography.CryptoConfig.LoadConfig (string,System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>) [0x00013] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/CryptoCo
nfig.cs:473
at System.Security.Cryptography.CryptoConfig.Initialize () [0x00697] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:457
at System.Security.Cryptography.CryptoConfig.CreateFromName (string,object[]) [0x00027] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:495
at System.Security.Cryptography.CryptoConfig.CreateFromName (string) [0x00000] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:484
at System.Security.Cryptography.RandomNumberGenerator.Create (string) [0x00000] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/RandomNumberGenerator.cs:59
at System.Security.Cryptography.RandomNumberGenerator.Create () [0x00000] in /home/bkmz/my/mono/mcs/class/corlib/System.Security.Cryptography/RandomNumberGenerator.cs:53
at System.Guid.NewGuid () [0x0001e] in /home/bkmz/my/mono/mcs/class/corlib/System/Guid.cs:492

나(RHEL5,모노이에서 촬영 rpm 기 ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home%3A/vmas%3A/mono-centos5)

Assertion at mini.c:3783, condition `code' not met
Stacktrace:
at <unknown> <0xffffffff>
at System.IO.StreamReader.ReadBuffer () [0x00012] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.IO/StreamReader.cs:394
at System.IO.StreamReader.Peek () [0x00006] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.IO/StreamReader.cs:429
at Mono.Xml.SmallXmlParser.Peek () [0x00000] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/Mono.Xml/SmallXmlParser.cs:271
at Mono.Xml.SmallXmlParser.Parse (System.IO.TextReader,Mono.Xml.SmallXmlParser/IContentHandler) [0x00020] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/Mono.Xml/SmallXmlParser.cs:346
at System.Security.Cryptography.CryptoConfig.LoadConfig (string,System.Collections.Generic.IDictionary`2<string, System.Type>,System.Collections.Generic.IDictionary`2<string, string>) [0x00021] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptog
raphy/CryptoConfig.cs:475
at System.Security.Cryptography.CryptoConfig.Initialize () [0x00697] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:457
at System.Security.Cryptography.CryptoConfig.CreateFromName (string,object[]) [0x00027] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:495
at System.Security.Cryptography.CryptoConfig.CreateFromName (string) [0x00000] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptography/CryptoConfig.cs:484
at System.Security.Cryptography.RandomNumberGenerator.Create (string) [0x00000] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptography/RandomNumberGenerator.cs:59
at System.Security.Cryptography.RandomNumberGenerator.Create () [0x00000] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Security.Cryptography/RandomNumberGenerator.cs:53
at System.Guid.NewGuid () [0x0001e] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System/Guid.cs:483
at System.Runtime.Remoting.RemotingServices.NewUri () [0x00020] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs:356
at System.Runtime.Remoting.RemotingServices.Marshal (System.MarshalByRefObject,string,System.Type) [0x000ba] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs:329
at System.AppDomain.GetMarshalledDomainObjRef () [0x00000] in /usr/src/redhat/BUILD/mono-3.0.3/mcs/class/corlib/System/AppDomain.cs:1363

모두 실패하게 연결되어 있 AppDomains 논리,그래서,당신은 그들로부터 멀리에 모노.

BTW,테스트 프로그램 일 24 시간 동안에 윈도우에서 기계 MS.NET4.5env 없이 실패합니다.

그래서 결론적으로 말하고 싶은 것-사용하 모노 주의를 기울여야 합니다.그것은 작품에서 첫눈에,그러나 쉽게 실패할 때마다입니다.당신은 왼쪽으로 무리의 핵심 덤프 및 주요 신앙의 손실은 오픈 소스 프로젝트입니다.

MoMA 한 훌륭한 도구입니다 이를 위해,누군가가 다른 사람을 제안합니다.가장 큰 근원지의 호환성이 요즘 응용 프로그램 DllImport(또는 P/Invoke)Win32 라이브러리입니다.몇 가지 어셈블리 구현되지 않습,그러나 그들의 대부분은 윈도우에만 정말 의미가 없 리눅스에서.나는 그것이 매우 안전하다는 말장 ASP.NET 응용 프로그램에서 실행할 수 있는 모노와 제한된 수정할 수 있습니다.

(공시:에 기여했을 모노 자체뿐만 아니라,작성된 응용 프로그램을 실행하는 그것의 상단에.)

많은 경우에,당신이 걸릴 수 있습니다 기존의 코드를 실행하에 그것을 모노는 경우에는 특히 이 ASP.NET 응용 프로그램.

어떤 경우에,당신이 필요할 수 있는 새로운 부분의 코드를 작동합니다.를 사용하면 시스템입니다.Windows.형태,예를 들어,응용 프로그램이 작동하지 않을 수정되지 않습니다.마찬가지로 사용할 경우 어떤 윈도우별 코드(레지스트리 접속 코드,예를 들어).그러나 내가 생각하는 최악의 가해자가 UI 코드입니다.는 특히 나쁜 매킨토시에서는 시스템입니다.

우리가 그것을 사용하여 프로젝트에 대해 여기에서 작동하는 실행하는 데 필요한 리눅스에 재사용하지만 몇 가지.NET 라이브러리는 우리가 내장 Managed C++.나는 아주 어떻게 그것이 있다.우리의 주요 실행되고 있에서 우리는 단지 참조 우리의 Managed C++바이너리로 이 문제가 발생하지 않습니다.에서 유일한 차이점은 C#코드 사이의 Windows 와 리눅스가 RS232 직렬 포트의 코드입니다.

만 큰 문제는 생각할 수 있는 일이 일어났어.리눅스를 구축했다는 메모리 누수가 없는 볼 Windows 니다.을 수행 한 후 일부를 설명서 디버깅을(기본 프로파일러를 위한 모노 리눅스에서 훨씬 도움이되지 않았),우리가 할 수 있었다 좁은 문제가로 특정 덩어리의 코드입니다.우리는 종료 패치 해결 방법,그러나 내가 여전히 필요 몇 가지를 찾을 시간이 돌아와 그림의 근본 원인이 누출을 했습니다.

당신은 얼마나 좋은 모노 2.0 미리보기를 지원하는 윈도우 폼 2.0?

에서 조금 그와 함께 연주했다,그것 보다 상대적으로 완료하고 거의 사용할 수 있습니다.그것은 단지 보이 몇몇 장소에서는 여전히 약간의 충돌하거나 미스습니다.그것은 나를 깜짝 놀라게 하는 일 뿐만 아니라 그것의 일부와 함께 우리의 형성,하지만 정직하게.

네,그것은 확실히은(당신은 신중하도) 우리는 지원 모노에서 Ra-Ajax(Ajax 라이브러리에서 발견 http://ra-ajax.org 고)우리는 주로 문제가 발생하지 않는다.당신은 신중해야의"미친 대부분의 것들을"습니다.Net 다음과 같 WSE 등도 꽤 몇 가지 기존의 프로젝트가 100%되지 않습노 호환이 되지만,새로운 프로젝트를 테스트하는 경우 그들을 개발하는 동안 대부분 호환되지 않고 문제를 모노.과에서 얻을 지원하는 리눅스 등을 통해 사용하는 단청은 정말 멋;)

의 큰 부분의 비밀을 지원하 모노라고 생각하는 올바른 도구를 사용하여 시작부터,예를 들어,ActiveRecord,log4net,ra-ajax 등등...

에 대한 형식의 응용 프로그램을 우리는 건물의 단청도 보이지 않는 준비를 생산합니다.우리는 감동 그것은 전반적으로,그리고 감동으로 그것의 성능 모두에 윈도우에 EC2 기계,그러나,우리의 프로그램으로 추락한 consistenly 쓰레기 수집에 오류가 모두 Windows 및 linux.

오류 메시지는 다음과 같습니다."치명적인 오류에 GC:너무 많은 힙 섹션에서"여기에 대한 링크를 다른 사람이 문제가 발생하는 약간 다른 방법:

http://bugzilla.novell.com/show_bug.cgi?id=435906

첫 번째 코드 조각을 우리에서 실행한 단청이었는 간단한 프로그래밍 도전에 우리가 개발되...코드 10 메가바이트에 대한 데이터로부터 데이터 구조물(예:HashSets),다음을 실행 10 에 대한 쿼리 데이터입니다.우리가 실행한 쿼리를 100 배기 위해서는 시간을 얻을 평균.

코드 추락의 주위에 55 쿼리드 응용 프로그램을 시작합니다.리눅스에서 일했지만,곧 우리는 점점 더 데이터로 설정,그것은 아무리.

이 코드는 매우 간단합니다,예를 들어,을 넣어 일부로 데이터를 HashSets 고 그 쿼리에는 그 HashSets etc.,네이티브 c#,아무것도 안전하지 않은 없습니다.Microsoft CLR 그것은 충돌하지 않습니다,그리고 실행에 대한 거대한 데이터 세트 1000 배됩니다.

우리의 사람 이메일로 미겔 및 코드를 포함이 발생하는 문제 응답이 없는 아직이다.:(

그것은 또한 것과 같은 다른 많은 사람들이 이 문제가 발생하지 않고 솔루션은 하나의 솔루션이 제안되었을 다시 컴파일 모노와 다른 GC 설정을 하지만 그냥 나타나 임계 값을 증가시키기 전에는것은 충돌이 발생합니다.

확인 www.plasticscm.com.모든 것을(클라이언트는 서버,GUI,병합 공구)에 기록됩니다.

그것은 정말에 따라 달라집 네임스페이스 클래스는 사용하고 있습니다.NET framework.나에 관심을 변환하는 하나의 윈도우 서비스에서 실행하는 이메일 서버,Suse,그러나 우리는 실로 하드 장애물과 함께하는 Api 를되지 않을 완전히 구현했습니다.도표이 어딘가에 모노 웹사이트를 나열하는 모든 클래스고 그들의 수준의 완성입니다.하는 경우 응용 프로그램은 커버,그리고 그것을 위해 이동합니다.

다음과 같은 다른 어떤 응용 프로그램은 프로토타이핑 및 테스트하기 전에 당신은 전체의 약속,물론입니다.

또 다른 문제에 우리는 실로는 허가된 소프트웨어:를 참조하는 경우 다른 사람의 누락할 수 없습니다 코드의 주위에 당신의 방법에 호환되는 매장에서는 어셈블리입니다.

내가 상상 그 응용 프로그램이 있는 경우 일부 제 3 자 요소를 사용할 수 있는 박제.내가 의심의 여지가 많이 공급업체 개발할 것입니다 모노 마음에

예제: http://community.devexpress.com/forums/p/55085/185853.aspx

없음,단위한 준비되지 않은 심각한 작품이다.나는 몇 가지 프로그램 윈도우에서 사용하 F#와 란에 모노.그는 데 사용되는 프로그램 디스크,메모리,cpu 주한 리뷰가 없습니다.을 보았을 충돌에서 모노 라이브러리(관리되는 코드),충돌에서 원시 코드와 충돌에서 가상 기계입니다.할 때 모노 근무하는 프로그램에서 적어도 두 시간 느린 것보다습니다.Net Windows 에서 사용이 훨씬 더 많은 메모리.멀리에서 단청에 대한 심각한 작품이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top