문제

Mono의 System.Data가 추가 기능을 포함하도록 확장 되었습니까? 나는 mono.data.sqlexpressions에서 mono에 대해 작성된 SQL 파서를 사용하려고 시도하고 있지만 sqlexpressions 네임 스페이스의 모든 클래스에 포함 된 경우 System.data의 클래스가 일치하지 않기 때문에 프로젝트가 여전히 컴파일되지 않습니다.
예, System.data.datacolumn은 PropertyChanged 이벤트를 정의하지 않습니다. 대신 Mono System.Data 라이브러리를 사용해야합니까? 프로젝트에 Mono Datacolumn 클래스가 포함되면이 컴파일 오류는 발생하지 않습니다 (.NET 프레임 워크에서 찾을 수없는 데이터 범주와 같은 클래스를 참조).

또는 Mono의 SQL Parser를 Microsoft의 .NET Framework에 포트하는 방법에 대한 도움을받을 것입니다. 소스를 다운로드하고 누락 된 라이브러리를 프로젝트에 추가하려고 시도했지만이 접근법은 결함이있는 것으로 보입니다. 문제를 해결하는 대신 누락 된 종속성의 수가 증가하는 것 같습니다.

도움이 되었습니까?

해결책

모노는 이진 및 API가 MS의 구현과 호환되기 위해 노력했습니다. 즉, 몇 가지 내부 지원 방법과 클래스를 제외하고 Mono가 노출 한 모든 API는 101과 MS .NET과 일치해야합니다. 이것은 사람들이 모노로 컴파일하기 때문에 방법이 존재한다고 가정하는 것처럼 합병증을 피하고 결국 Ms.net에서는 작동하지 않습니다.

모노 기고자가 새 코드와 기능을 구현하면 일반적으로 별도의 어셈블리 및 프로젝트에 포함됩니다. mono.data 이름에서 알 수 있듯이 "확장"이므로 모든 종속 어셈블리를 포함시키기 위해 모든 종속 어셈블리를 포함해야합니다. Mono.data.dll과 DEP가 Ms.Net에서 실행되거나 문제가 발생하지 않거나 문서를 확인하고 테스트하는 경우.

두 번째 질문에 관해서는, 나는 당신에게 구체적인 내용을 말할 수 없지만, 코드가 Windows에서 구체적인 개요를 가지고 있지 않으면 포트에 많은 작업이 필요할 것입니다. API와 마찬가지로 많은 코드가 공개 인터페이스에 노출되지 않으며 코드를 포팅 할 때 구현의 내부 기능을 해결해야합니다. 코드가 작동하는 방식을 분석 한 다음 모노 코드에서 DEP를 많이 제거하여 Ms.Net에서 실행하도록하는 것이 좋습니다. 결국 코드가 충분히 호환되는 경우, 미래의 사용자에게 문제를 저장하기 위해 모노 소스를 편집 잠재 및 #IF! Mono Pragmas로 패치하는 것을 고려해야합니다.

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