Mono와 호환되지 않는 코드가 많습니까? 이론적으로 대부분의 코드를 동일하게 유지하고 Mono와 MS.NET 사이를 확인해야하는 경우는 거의 없습니다.
Mono와 MS.NET의 코드가 완전히 다른 경우 공통 인터페이스를 별도로 구현해야합니다. 예를 들어 MSMQ 또는 ActiveMQ간에 스왑 아웃 할 수있는 애플리케이션의 서비스 버스를 사용합니다. 우리는 ActiveMQ를 Mono 배포판과 MSMQ를 MS.NET 배포판에 사용합니다.
당신은 당신의 응용 프로그램을 Mono-Suggets에 "포팅"해야 할 필요가 있다고 말했을 경우 호환되지 않는 많은 코드가 있습니다. P/Invoke 또는 다른 Windows 전용 기능을 광범위하게 사용하는 경우 조금 더 어려워 질 것입니다.
우리는 모노 버전과 MS.Net 버전을 유지 관리하지 않으며 우리는 하나의 코드 트리를 컴파일 할 수 있습니다. UI가있는 플랫폼 별 프로그램의 경우 각 플랫폼마다 별도의 UI 프로젝트 (일반적으로 Windows 용 WPF 및 Linux/Mac 용 GTK - Mac 용 MonoMac을 살펴보기 시작 함)를 사용합니다. 그 외에도 모든 코드는 공통적입니다. 플랫폼 간에는 유지할 것이 없습니다.
다른 구현을 자신의 어셈블리에 넣고 IOC에서와 같이 공통 인터페이스 – kenny
@kenny를 구현 하시겠습니까? 두 개의 별도 코드 스트림이 필요하며 별도의 유지 관리가 필요합니다. 그렇지 않습니까? 최고의 코딩 방법은 아닙니다. – johnc
차이점을 분리하여 보관하는 것이 좋은 코딩 방법입니다. #IF 엉망진창을 넘기보다. – kenny