Mono 2.4에서 Microsoft MVC와 함께 Microsoft Data Entity Framework 사용

asp.net-mvc entity-framework mono

문제

Ubiquity 웹 호스팅 서비스에서 Mono 2.4를 사용하고 있습니다.

여기 에 링크 된 간단한 MVC 튜토리얼 응용 프로그램을 만들고 모든 Microsoft 도구를 사용하여 작동하는지 확인했습니다.

다음으로, 응용 프로그램이 Ubiquity 호스트에서 실행중인 MySQL 서버 데이터베이스를 가리 키도록 업데이트되었습니다. 이 응용 프로그램은 Microsoft 기반 컴퓨터에서 잘 작동합니다.

이제 유비 쿼티 (unbiquity)의 모노 서버에 응용 프로그램을 배포하려고합니다.

System.Web.MVC를 CopyLocal = true로 설정합니다.

모노 서버에 응용 프로그램을 배포했습니다.


이 오류가 발생합니다.

설명 :이 요청을 처리하는 데 필요한 리소스를 구문 분석하는 중 오류가 발생했습니다. 소스 파일을 검토하고 수정하여이 오류를 수정하십시오.

파서 오류 메시지 : 어셈블리 System.Data.Entity, 버전 = 3.5.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089 찾을 수 없습니다. 버전 정보 : 모노 버전 : 2.0.50727.1433; ASP.NET 버전 : 2.0.50727.1433


나는 그 문제가 ...

A) Entity 프레임 워크는 모노로 지원되지 않습니다. Microsoft Data Entity Framework 이외의 다른 것을 사용해야합니다.

B) System.Data.Entity의 모노 버전에 대한 공개 키 토큰이 "b77a5c561934e089"가 아닙니다.

C) 다른 일이 진행 중입니다.


CopyLocal = System.Entity.Data dll에 대해 true로 설정해 보았습니다. 따라서 Microsoft 버전의 DLL이 내 모노 서버에 배포되었습니다. 나는 이것이 합법적이라는 의심을 품고있다. 어쨌든 다음과 같은 오류 만 발생했습니다.

네이티브 코드를 실행하는 동안 SIGSEGV가 있습니다. 이것은 대개 모노 런타임이나 응용 프로그램에서 사용하는 기본 라이브러리 중 하나에 치명적인 오류가 있음을 나타냅니다.


의문

Mono에서 Microsoft Entity Framework를 사용할 수 있다는 것을 누군가가 확인할 수 있습니까? 위의 링크 된 Microsoft MVC 자습서에서이 주석에 따라 Microsoft Entity Framework에서 마이그레이션 할 것입니다.

"ASP.NET MVC 프레임 워크는 Microsoft Entity Framework와 관련이 없습니다. LINQ to SQL, Subsonic 및 NHibernate를 포함한 다양한 OR (OR) / M (Object Relay Mapping) 도구를 활용하여 데이터베이스 모델 클래스를 만들 수 있습니다. . "

그러나 일관성을 위해 가능한 경우 모노에 Microsoft Entity Framework를 사용하고 싶습니다.

수락 된 답변

System.Data.Entity 어셈블리에도 CopyLocal = true를 설정해야합니다. System.Web.MVC 로컬을 복사했지만 System.Data.Entity를 로컬로 복사했다고 언급 한 적이 없습니다. System.Data.Entity가 의존하는 어셈블리 중 Mono에 속하지 않은 어셈블리를 로컬로 복사해야 할 수도 있습니다.


인기 답변

EntityFramework , Microsoft Chart Controls 및 Microsoft Sync Framework가 Microsoft 및 / 또는 MS 직원과 다른 주장에도 불구하고 Linux의 모노에서 작동하지 않음을 확인할 수 있습니다.

Sync Framwork가 COM interop 구성 요소와 함께 pinvoke를 사용하고 Microsoft 차트 컨트롤에 DirectorySeparator 문제가 있으며 EntityFramwork 네임 스페이스가 아직 모노로 포팅되지 않았기 때문입니다.
따라서 Microsoft가 "모노와 함께 작동"한다고 말하면 " Windows 에서 모노 사용"을 의미합니다.

EntityFramwork 포트가 알파 / 베타 단계에 도달 할 때까지, 즉 누군가가이를 결정할 경우 적어도 1 년은 걸릴 것으로 추정됩니다.

그러나 EntityFramework를 이식하는 공식 계획은 없습니다.

EntityFramwork은 당신이 참으로 localcopy 설정으로, 모노의 윈도우 버전에 / s로 작동 할 수 있습니다.

대신 nhibernate를 사용하는 것이 좋습니다.

최신 정보:

Mono 2.11.3부터 Microsoft는 개방 소스 EntityFramework를 보유하고 있습니다.
따라서 이제는 Mono의 배포판의 일부가되었습니다.
이 버전에는 349 개의 커밋이 있으며 514 개의 파일이 변경됩니다.
여기에는 15553 개의 삽입과 3717 개의 삭제가 포함됩니다.

두 명, 한 명.
나는 이것이 다음을 의미한다고 생각한다.

MICROSOFT에 큰 감사드립니다. ! !



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.