为什么我不能将早期的 xamarin 表单版本作为 nuget 添加到我的 Xamarin 表单项目/android 包

本文关键字:表单 添加 nuget 我的 Xamarin android 项目 不能 版本 xamarin 为什么 | 更新日期: 2023-09-27 18:30:48

我有这个项目,当我尝试将其调试为android时,我遇到了一些问题。我已经提出了一个解决方案,但前提是我在 androidpackage 中使用早期版本的 xamarin 表单 (1.3)。

当我在 NuGet 库中的其他项目中搜索 Xamarin 窗体时,我可以看到 1.3 和 2.0 版本,并将其添加为包。

但是在这个我需要 1.3 版本的部分项目中,我只能看到 2.0 版本。

为什么我不能将早期的 xamarin 表单版本作为 nuget 添加到我的 Xamarin 表单项目/android 包

在Mac或Linux上没有nuget"Package Manager",因为它是通过PowerShell实现的,并且在Mac/Linux上不存在可以工作的形式(有OSS PASH项目,但它没有为Nuget的Package Manager提供足够的功能)。

按照另一个答案所说,使用所需的版本手动编辑package.config并对其进行还原。

现有的 Xamarin.Forms 2.x package.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Xamarin.Android.Support.Design" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v4" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.CardView" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Forms" version="2.0.0.6490" targetFramework="MonoAndroid60" />
</packages>

编辑您的package.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Xamarin.Android.Support.Design" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v4" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.CardView" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.0.1.3" targetFramework="MonoAndroid60" />
  <package id="Xamarin.Forms" version="1.3.5.6335" targetFramework="MonoAndroid60" />
</packages>

Xamarin Studio/Package Restore

右键单击解决方案板中的Packages并执行Restore

注意:Xamarin 为nuget.exe安装了一个外壳包装器,它被称为 nuget

如果从命令行或 Visual Studio 包管理器窗口使用 NuGet 包管理器,则可以指定要安装的版本。

从命令行:

nuget install Xamarin.Forms -Version 1.3.5.6337

从 VS 包管理器窗口:

Install-Package Xamarin.Forms -Version 1.3.5.6337

或者,您可以为每个项目文件夹创建一个 package.config,并向其添加以下行:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Xamarin.Forms" version="1.3.5.6337" targetFramework="<your target framework>" />
</packages>

然后在为项目添加此还原 NuGet 包后。

<your target framework>将取决于要将其安装到的项目类型。