无法在Visual Studio 2013上为PCL配置文件158安装程序包MvvvmCross.PortalSuppo



我有以下设置,但仍然无法将mvmcross库添加到我的项目中:

  1. VS2013更新3
  2. Nuget软件包管理器2.8.50313.46
  3. PCL配置文件158(我也尝试过其他类似的78等)

安装日志如下:

Attempting to resolve dependency 'MvvmCross.HotTuna.StarterPack (≥ 3.2.1)'.
Attempting to resolve dependency 'MvvmCross.HotTuna.MvvmCrossLibraries (≥ 3.2.1)'.
Attempting to resolve dependency 'MvvmCross.HotTuna.CrossCore (≥ 3.2.1)'.
Attempting to resolve dependency 'MvvmCross.PortableSupport (≥ 3.2.1)'.
Installing 'MvvmCross.PortableSupport 3.2.1'.
Successfully installed 'MvvmCross.PortableSupport 3.2.1'.
Installing 'MvvmCross.HotTuna.CrossCore 3.2.1'.
Successfully installed 'MvvmCross.HotTuna.CrossCore 3.2.1'.
Installing 'MvvmCross.HotTuna.MvvmCrossLibraries 3.2.1'.
Successfully installed 'MvvmCross.HotTuna.MvvmCrossLibraries 3.2.1'.
Installing 'MvvmCross.HotTuna.StarterPack 3.2.1'.
Successfully installed 'MvvmCross.HotTuna.StarterPack 3.2.1'.
Installing 'MvvmCross 3.2.1'.
Successfully installed 'MvvmCross 3.2.1'.
Adding 'MvvmCross.PortableSupport 3.2.1' to ClassLibrary1.
Uninstalling 'MvvmCross.PortableSupport 3.2.1'.
Successfully uninstalled 'MvvmCross.PortableSupport 3.2.1'.
Install failed. Rolling back...
Could not install package 'MvvmCross.PortableSupport 3.2.1'. You are trying to install this package into a project that targets 'portable-net45+win+wp80+Xamarin.iOS10+MonoAndroid10+MonoTouch10', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

我将配置文件更改为259,它正在工作。

如果有人不知道如何更改配置文件:

在解决方案资源管理器中,右键单击项目名称,然后选择"编辑项目配置文件"。寻找线路:

<TargetFrameworkProfile>Profile158</TargetFrameworkProfile> 

并将Profile158更改为Profile259。确保下面的行:

 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 

设置为v4.5而不是v4.0,否则在尝试重新加载项目时会收到错误消息。要重新加载项目,只需在解决方案资源管理器中右键单击项目名称,然后选择"重新加载项目"。

问题是,在PCL项目中安装可移植类库(PCL)程序集时,作为iOS Unified项目的新框架,Xamarin.iOS框架没有被NuGet 2.8.2(2.8.50313.46)或更早版本视为可选框架。NuGet 2.8.2将MonoAndroid和MonoTouch视为可选,而不是Xamarin.iOS.

因此,您可以选择以下选项之一:

  1. 安装NuGet 2.8.3 alpha
  2. 删除新的Xamarin.iOS PCL配置文件xml文件(Xamarin.iOS.Unified.xml)

NuGet 2.8.3 alpha已经被修改,因此它了解Xamarin.iOS框架,并将其视为可选框架。

新的Xamarin.iOS PCL配置文件xml文件是由一个旧的Xamarin 3.6版本安装的。最新的Xamarin 3.6版本没有安装新的iOS统一PCL配置文件xml文件,需要第二个安装程序来安装NuGet 2.8.3 alpha和新的配置文件xml。

如果您选择选项2),请注意,这样做将阻止在Xamarin.iOS Unified项目中安装NuGet包,如MvvmCross.PortalSupport。