2014-02-11 59 views
1

我有一個Android應用程序,它使用:片段支持編譯錯誤

  • ActionBarSherlock Xamarin組件
  • MvvmCross片段支持。

我剛剛升級到3.1.1 MvvmCross,我得到了一些錯誤:

錯誤2型「Android.Support.V4.App.Fragment」在未引用的程序定義。您必須添加對程序集'Xamarin.Android.Support.v4,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'的引用。

錯誤3類型'Android.Support.V4.App.FragmentActivity'是在未引用的程序集中定義的。您必須添加對程序集'Xamarin.Android.Support.v4,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'的引用。

我刪除bin和obj文件夾只是爲了確保和重建,相同的錯誤。

如果我添加了Android支持庫V4 Xamarin組件,我得到了很多錯誤,如

錯誤11類型 'Android.Support.V4.App.ActionBarDrawerToggle' 同時存在於「C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v4.3 \ Mono.Android.Support.v4.dll' and '.. \ xamandroidsupportv4-18-4.18.1 \ lib \ android \ Xamarin .Android.Support.v4.dll' ..MyActionBarDrawerToggle.cs 19 44

如果我刪除了Mono.Android.Support.v4,我收到了一個錯誤,要求我將它放回原位。

+0

你需要移動,使得其assemnbly使用新品牌'Xamarin'支持所有的圖書館 - 看https://bugzilla.xamarin.com/show_bug.cgi?id=15205 – Stuart

+0

感謝司徒但我不明白我該怎麼做。我需要從源代碼重新編譯MvvmCross Droid Fragging插件嗎? –

+0

另外,我不明白最新版本的MvvmCross有什麼變化,爲什麼我之前沒有這個問題? –

回答

1

看來你有一個老版本的ActionBar Sherlock組件,它引用了Mono.Android.Support.v4,latest version 4.4.0.2使用了新的Android支持庫。

enter image description here

希望這有助於。

亞歷

+0

非常感謝!組件何時更新!?我沒有在Visual Studio中看到任何更新,在Visual Studio中是否有Xamarin組件的通知或任何版本?另外,我誤以爲在Github上,它仍然是Mono.Android.Support.v4的版本https://github.com/xamarin/monodroid-samples/blob/master/ActionBarSherlock/ActionBarSherlock/ActionBarSherlock.csproj#L45 I猜猜他們沒有更新源代碼,只是組件!? –