6

.Net 4.5、Windows Phone 8、WinRT、MonoTouch、および MonoDroid の PCL があるプロジェクトで問題が発生しました。その PCL エラーを参照する MonoDroid または MonoTouch プロジェクトをビルドしようとすると、次のようになります。

*エラー 1 型 'System.Object' は、参照されていないアセンブリで定義されています。アセンブリ 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' への参照を追加する必要があります。

エラー 2 タイプ 'System.Enum' は、参照されていないアセンブリで定義されています。アセンブリ '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
4

2 に答える 2

3

互換性を .NET 4.5 から .NET 4.0.3 に設定すると、動作します。

于 2013-03-04T14:13:01.473 に答える
1

プロファイル 104 で同様のエラーが発生した場合、問題のクラスを転送する System.Windows.dll や System.Net.dll などの偽のシステム アセンブリを作成しました。私はこれらの偽のアセンブリに署名を遅らせました - 幸いなことに、MonoDroid と MonoTouch はこれらの遅延署名をあまり注意深くチェックしていないようです。

これらの例はhttps://github.com/slodge/MvvmCross/tree/v3/PortableSupportにあります。

MonoDroid と MonoTouch にリンクされた 2 つの System.Runtime アセンブリと、System.Object と System.Enum の型転送で同じことができると思います。

Xamarin の PCL サポートが間もなく出荷され、これらの shim アセンブリの公式バージョンが含まれることを願っています。

于 2013-05-06T19:32:47.047 に答える