2015-05-18 35 views
1

我有一個xamarin項目工作正常,但它是在一段時間之前建立的。現在我的要求是將此項目升級到Xamarin.Forms項目。所以安裝了Form nuget包。然後我嘗試建立這個項目。所有api級別設置都會從所有項目中消失。 所以我增加了api level => min api lavel 19並且編譯了最新的api級別。正常項目升級到Xamarin.Forms項目

畢竟這我得到這個誤差=>

錯誤141異常而裝載組件:System.IO.FileNotFoundException:未能加載組件「Mono.Android.Support.v4,版本= 0.0 .0.0,Culture = neutral,PublicKeyToken = 84e04ff9cfb79065'。也許它不適用於Android個人資料的Mono中? Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference,ReaderParameters parameters) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 assemblies, AssemblyDefinition裝配,布爾頂層) 在Xamarin.Android.Tasks.ResolveAssemblies.Execute()

我試圖從的NuGet,但沒有幫助安裝Xamarin.android.supprt.v4.dll。

我使用的是Visual Studio 2013,我也更新了Windows的Xamain。

請幫我,這是殺了我。

回答

0

我只能猜測,因爲我看不到你的項目文件。

這看起來像一個PCL問題。 Xamarin.Forms項目可以是「共享」或「PCL」的味道。 「共享」項目可以訪問與iOS或Android項目相同的API。 「PCL」風格只能訪問API的一個子集,並使事情變得更加複雜 - PCL的次級風格。

如果你正在將現有的項目遷移到XF,我會說你可能會更喜歡「共享」風格。如果你開始新的或感覺它不會重構太多 - 使用PCL。

它看起來像你有一個PCL XF項目,並複製代碼,試圖使用有System.IO.File - 缺少多個API之一 - 你將不得不重構這個API使用到dependency service或使用一些IoC來訪問它。

簡而言之,您將創建一個接口,提供您需要的文件功能(保存,加載,刪除...),在各自的iOS/Android/Win項目中實現該接口,甚至更好 - 共享項目 - 並使用IoC來實例化XF項目中的接口。有關示例,請參閱XLabs如何使用MediaService