无法在Visual Studio 2013 for PCL Profile 158上安装包MvvmCross.PortableSupport 3.2.1

时间:2014-09-26 21:45:45

标签: xamarin nuget mvvmcross portable-class-library

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

  1. VS2013 Update 3
  2. Nuget Package Manager 2.8.50313.46
  3. PCL Profile 158(我也试过其他像78等)
  4. 安装日志如下:

    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.
    

2 个答案:

答案 0 :(得分:5)

我将个人资料更改为259并且正在运作。

如果有人不知道如何更改个人资料:

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

<TargetFrameworkProfile>Profile158</TargetFrameworkProfile> 

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

 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 

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

答案 1 :(得分:3)

问题在于Xamarin.iOS框架是iOS统一项目的新框架,在安装可移植类库(PCL)时,不被NuGet 2.8.2(2.8.50313.46)或更早版本视为可选框架)组装成PCL项目。 NuGet 2.8.2将MonoAndroid和MonoTouch视为可选项,但不是Xamarin.iOS。

所以你的选择是以下之一:

  1. 安装NuGet 2.8.3 alpha
  2. 删除新的Xamarin.iOS PCL配置文件xml文件(Xamarin.iOS.Unified.xml)。
  3. NuGet 2.8.3 alpha已被修改,因此它知道Xamarin.iOS框架并将其视为可选。

    新的Xamarin.iOS PCL配置文件xml文件是由一个较旧的Xamarin 3.6版本安装的。最新的Xamarin 3.6版本不会安装新的iOS统一PCL配置文件xml文件,并且需要second installer来安装NuGet 2.8.3 alpha和新的配置文件xml文件。

    如果您选择2)请注意,这样做会阻止将Nuvet软件包(例如MvvmCross.PortableSupport)安装到Xamarin.iOS Unified项目中。