如何强制 Caliburn.Micro.Xamarin.Forms 使用特定版本的 Xamarin.Forms?

How can I force Caliburn.Micro.Xamarin.Forms to use a specific version of Xamarin.Forms?

我正在尝试将 Caliburn.Micro 3.0alpha NuGet 包添加到现有的 Xamarin.Forms 项目中。我首先似乎通过 NuGet 添加包是成功的,但最后它回滚了,并且我收到错误消息,指出已经安装了更新的 Xamarin.Forms 包。 如何强制 Caliburn.Micro 忽略此错误并使用 Xamarin.Forms 的已安装版本?

我的 NuGet 输出:

PM>  Install-Package Caliburn.Micro.Xamarin.Forms -Pre
Attempting to resolve dependency 'Caliburn.Micro.Core (= 3.0.0-alpha)'.
Attempting to resolve dependency 'Xamarin.Forms (= 1.4.2.6355)'.
Installing 'Caliburn.Micro.Core 3.0.0-alpha'.
Successfully installed 'Caliburn.Micro.Core 3.0.0-alpha'.
Installing 'Xamarin.Forms 1.4.2.6355'.
Successfully installed 'Xamarin.Forms 1.4.2.6355'.
Installing 'Caliburn.Micro.Xamarin.Forms 3.0.0-alpha'.
Successfully installed 'Caliburn.Micro.Xamarin.Forms 3.0.0-alpha'.
Install failed. Rolling back...
Install-Package : Already referencing a newer version of 'Xamarin.Forms'.At line:1 char:2
+  Install-Package Caliburn.Micro.Xamarin.Forms -Pre
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

您不能强制 Caliburn.Micro.Core 3.0.0-alpha 使用除 1.4.2.6355 以外的任何其他 Xamarin.Forms 版本。

Caliburn.Micro.Core 3.0.0-alpha NuGet 包具有限制为单个 Xamarin.Forms 版本的依赖项。

<dependency id="Xamarin.Forms" version="[1.4.2.6355]" />

唯一的解决方法是:

  1. 修改 Caliburn.Micro.Core NuGet 包以放宽依赖性。
  2. 不要使用 NuGet。

Caliburn.Micro.Core 可能无法与不同版本的 Xamarin.Forms 一起使用,即使尝试了上述解决方法也是如此。