>

프로젝트에서 .Net 4.5, Windows Phone 8, WinRT, MonoTouch 및 MonoDroid 용 PCL이있는 PCL 오류와 관련된 MonoDroid 또는 MonoTouch 프로젝트를 빌드하려고 할 때 문제가 있습니다.

*Error 1 The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

Error 2 The type 'System.Enum' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

추천 명령을 수행했습니다. (sn -Vr *, b03f5f7f11d50a3a), 그러나 도움이되지 않았습니다. 다음 프로필을 사용하고 있습니다 :

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78

  • 답변 # 1

    호환성을 .NET 4.5에서 .NET 4.0.3으로 설정하면 작동합니다.

  • 답변 # 2

    프로필 104에서 비슷한 오류가 발생하면 가짜 시스템 어셈블리를 만들었습니다 문제의 클래스를 전달하는 System.Windows.dll 및 System.Net.dll과 같은 이 가짜 어셈블리에 서명을 지연했습니다. 다행히도 MonoDroid와 MonoTouch는 이러한 지연 서명을주의 깊게 확인하지 않는 것 같습니다.

    이 예제는 https://github.com/slodge/MvvmCross/tree/v3/PortableSupport

    에 있습니다.

    MonoDroid 및 MonoTouch 및 형식 전달 System.Object 및 System.Enum에 연결된 2 개의 System.Runtime 어셈블리를 사용하여 동일한 작업을 수행 할 수 있다고 생각합니다.

    희망적으로 Xamarin의 PCL 지원은 곧 제공 될 예정이며 이러한 심 어셈블리의 공식 버전도 포함됩니다

관련 자료

  • 이전 로컬 볼륨 이름에 대한 도커 유효하지 않은 문자
  • 다음 linux - shebang line pecularities에 대한/usr/bin/env 질문