2

私はMvvmCrossを使い始めたいと思っています。これは、クロスプラットフォームソリューションにとって非常に有望なフレームワークのようです。とにかく、チュートリアルhttps://github.com/slodge/MvvmCross/wiki/Tutorial-Part-1を実行しているときに、ビルドエラーが発生します。Androidプロジェクトコンポーネントのビルド中にエラーが発生します。これはエラーです:

エラー1タイプ「Android.App.Activity」が参照されていないアセンブリで定義されています。アセンブリ'Mono.Android、Version = 0.0.0.0、Culture = neutral、PublicKeyToken=c4c4237547e4b6cd'への参照を追加する必要があります。C:\ Users \ Steven \ document \ visual studio 2010 \ Projects \ Tutorial \ Tutorial.UI.Droid \ Views \ MainMenuView.cs

私はいくつかの同様の質問が投稿されているのを見て(MonoTouch / MonoDroidのポータブルクラスライブラリの強力なアセンブリ参照の問題)、提案された解決策に従いましたが、成功しませんでした。これはVS2012にあったので、VS2010で試してみたところ、同じ問題が発生しました。誰かがこのエラーに遭遇しましたか?PCL部分(Tutorial.Core)は、それ自体で正常に構築されます。PCL csprojファイルを確認し、プロファイル104を使用していることを確認しました。また、そのディレクトリにあるMonoAndroidxmlファイルをすでに作成しました。

C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.0 \ Profile \ Profile104 \ SupportedFrameworks \ MonoAndroid、Version = v1.6 + .xml

Tutorial.UI.DroidプロジェクトでのMono.Androidの参照は問題ないようです。dllのパスはC:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v2.2 \ Mono.Android.dllであり、この参照のVSレポートはResolved=TrueおよびStrongName=Trueです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

あなたの問題はPCLとは何の関係もありません。バージョン4.2以降、Mono for Androidアセンブリには厳密な名前が付けられています。つまり、Xamarinによって出荷されるアセンブリはXamarinキーで署名されます。以前のアセンブリは、署名されていないか、遅延署名のみでした。この変更は、一部のXamarinアセンブリの厳密な名前に影響します。

あなたの場合のように、それはあなたに参照を追加するように求めています:

Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=c4c4237547e4b6cd

これは強い名前です。現在、使用しているのは次のとおりです。

Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

これは強い名前ではありません。

したがって、必要なのは、Mono.Androidを参照するすべてのアセンブリ(MVVMCrossおよびその他のプロジェクト)を新しい厳密な名前のアセンブリで再構築することだけです。

それはあなたの問題を解決するはずです。

于 2013-03-25T03:15:58.977 に答える