新的 Xamarin 项目不使用最新的 Xamarin 版本

Posted

技术标签:

【中文标题】新的 Xamarin 项目不使用最新的 Xamarin 版本【英文标题】:New Xamarin project doesn't use the newest Xamarin version 【发布时间】:2020-05-02 04:09:50 【问题描述】:

我是 Xamarin 的新手。我通过 Visual Studio Installer 安装了它(我使用的是 Visual Studio 2017)。我注意到当我创建一个新的空白项目时,Xamarin.Forms 的版本是 3.4.0.(...),这是一个相当旧的版本。 我读到 Xamarin.Forms 版本绑定到 Visual Studio 版本,但奇怪的是,我创建这个线程的原因是,在我的第一个教程项目工作时,VS 提示我独立升级我的 Xamarin。这将 Xamarin.Forms 升级到 4.4.0.(...),但仅适用于该项目。新创建的项目仍然有 X.F 3.4.0.(...) 并且它们不会提示我升级。 此外,升级后的项目在页面之间导航时崩溃,但出现以下异常。

System.TypeLoadException:无法从 typeref 解析带有令牌 0100003a 的类型(程序集“Xamarin.Forms.Core,版本=2.0.0.0,文化=中性,PublicKeyToken=null”中的预期类“Xamarin.Forms.NavigableElement”)

我找不到任何关于高于 3.4.0 的 Xamarin.Forms 与 VS17 不兼容的信息,但考虑到异常(相同的源代码在 3.4.0 上运行时可以正常工作)是有意义的。但如果是这样,为什么会提示我升级 Forms?我已经重新安装了 Xamarin,但这并没有改变任何东西。

【问题讨论】:

VS 2019 已经发布,可以先将IDE更新到最新版本(16.4.x) @LucasZhang-MSFT 它在工作计算机上。由于不相关的原因,我一定会使用 VS17(其他人都使用 15,所以我已经在推动它了)。他们正在使用一些过时的软件,例如用于版本控制,带有变通方法。那些必须为 19 重新制作。在我的辩护中,我在我的个人电脑上使用 19 :) 您可以打开nuget管理并更新XF版本。 【参考方案1】:

Xamarin.Forms 根本不绑定到 Visual Studio。我相信 Xamarin.android 和 Xamarin.ios 版本是绑定到 Visual Studio 的,但 Xamarin.Forms 只是你更新的一个 nuget 包。

    在解决方案资源管理器中右键单击解决方案。 选择“管理解决方案的 Nuget 包”。 点击顶部的“更新”标签。 单击 Xamarin.Forms 旁边的复选框。 点击“更新”。

或者,或者,只需单击“全部更新”。

您看到使用旧版本的 Xamarin.Forms 创建项目的原因是用于创建项目的模板是旧的并且不知道 Xamarin.Forms 的新版本。

【讨论】:

删除了我之前的回复。你完全正确。绑定到 VS 版本误解的 Xamarin 版本来自我可能误解的另一个线程。我的问题是我只更新了 Xamarin.Forms 依赖项中的 Xamarin,它没有更新 .Android 或 .iOS。我不知何故错过了解决方案右键单击中的“管理 NuGet”。我发誓我看过那里,但由于某种原因找不到它:) 非常感谢 没问题。很高兴我能提供帮助。

以上是关于新的 Xamarin 项目不使用最新的 Xamarin 版本的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Android 使用其他语言的类库

添加 Xamarin 插件时出错

Xamarin.GooglePlayServices.Ads。破坏了我的项目

Xamarin 项目未显示在 Visual Studio Android 模拟器上

如何在 VS 2019 上混淆 xamarin 应用程序

Xamarin.Forms UWP 项目不会安装在 Windows 10 移动版上