2016-05-16 59 views
4

我刚刚继承了旧的Xamarin Forms应用程序,我试图升级所有程序包。应用程序最初运行良好,但由于升级到所有软件包的最新版本,我现在得到一个崩溃调用Xamarin.Forms.Forms.Init(this, bundle);无法从程序集'Xamarin.Forms.Core'加载类型'Xamarin.Forms.Preserve属性'

Could not load type 'Xamarin.Forms.PreserveAttribute' from assembly 'Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null'. 

这是我的packages.config文件内容:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="ExifLib.PCL" version="1.0.1" targetFramework="MonoAndroid50" /> 
    <package id="Microsoft.Bcl" version="1.1.10" targetFramework="MonoAndroid50" /> 
    <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="MonoAndroid50" /> 
    <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="MonoAndroid50" /> 
    <package id="Newtonsoft.Json" version="8.0.3" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Forms" version="2.3.0.38-pre2" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Forms.Labs" version="1.2.1-pre2" targetFramework="MonoAndroid44" /> 
    <package id="Xamarin.Forms.Maps" version="2.2.0.31" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.GooglePlayServices.Base" version="29.0.0.1" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.GooglePlayServices.Basement" version="29.0.0.1" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.GooglePlayServices.Maps" version="29.0.0.1" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Insights" version="1.12.3" targetFramework="MonoAndroid50" /> 
</packages> 
+3

我看到你正在尝试使用Forms 2.3.0.38-pre2 packkage。确保您还将Forms.Maps包更新为相应的预先版本! –

回答

3

我关闭Xamarin Studio并清除obj和bin文件夹,并再次启动Xamarin Studio,并且一切正常。

+1

这是许多错误的解决方案。我们应该在我们知道该解决方案之前工作的任何时候尝试。因为它不应该突然失败 – IgniteCoders

1

我有同样的问题,但我注意到Xamarin.Forms包有一个更新。我更新了这个软件包,问题就消失了。

0

项目的路径必须没有“#”字符

1

我从一个刚创建的默认Xamarin窗体应用程序(本机,采用便携式类库)添加一个新的表格到PCL后,相同的消息(通过Visual Studio中的“添加新项目”上下文菜单并选择Xamarin.Forms/Content Page)。

原来,PCL中的packages.config为Xamarin.Forms指定了不同于UWP project.json文件中的版本。

通过编辑packages.config使这两个项目使用相同版本的Xamarin.Forms修复了这个问题。

相关问题