我刚刚继承了旧的Xamarin Forms应用程序,并尝试升级所有软件包。应用程序最初运行正常,但自从升级到所有软件包的最新版本后,我现在正在调用Xamarin.Forms.Forms.Init(this, bundle);
崩溃:
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>
答案 0 :(得分:4)
我关闭了Xamarin Studio并清除了obj和bin文件夹并再次启动了Xamarin Studio,一切正常
答案 1 :(得分:1)
我有同样的问题,但我注意到Xamarin.Forms包有更新。我更新了这个包,问题就消失了。
答案 2 :(得分:1)
在向PCL添加新表单后,我从新创建的默认Xamarin Forms应用程序(Native,带有可移植类库)获得了相同的消息(通过&#34;添加新项目&#34; Visual Studio中的上下文菜单并选择Xamarin.Forms / Content Page)。
事实证明,PCL中的packages.config为Xamarin.Forms指定了一个与UWP project.json文件不同的版本。
通过编辑packages.config使两个项目使用相同版本的Xamarin.Forms修复了问题。
答案 3 :(得分:0)
项目的路径必须没有'#'字符
答案 4 :(得分:0)
对于我来说,我已经将所有项目的Xamarin版本从3.x降级到2.5。但是不知何故.Net Standard项目没有降级。
.net标准项目降级后开始工作。