Visual studio 2012 将MVVMCross从nuget安装到PCL时出错

Visual studio 2012 将MVVMCross从nuget安装到PCL时出错,visual-studio-2012,nuget,mvvmcross,portable-class-library,Visual Studio 2012,Nuget,Mvvmcross,Portable Class Library,当我尝试将MvvmCross安装到新的PCL时,我收到一个错误。控制台日志如下所示: Package Manager Console Host Version 2.5.40416.9020 Type 'get-help NuGet' to see all available NuGet commands. PM> install-package MvvmCross Attempting to resolve dependency 'MvvmCross.HotTuna.StarterPa

当我尝试将MvvmCross安装到新的PCL时,我收到一个错误。控制台日志如下所示:

Package Manager Console Host Version 2.5.40416.9020

Type 'get-help NuGet' to see all available NuGet commands.

PM> install-package MvvmCross
Attempting to resolve dependency 'MvvmCross.HotTuna.StarterPack (≥ 3.0.6)'.
Attempting to resolve dependency 'MvvmCross.HotTuna.CrossCore (≥ 3.0.6)'.
``Attempting to resolve dependency 'MvvmCross.PortableSupport (≥ 3.0.6)'.
Installing 'MvvmCross.PortableSupport 3.0.6'.
Successfully installed 'MvvmCross.PortableSupport 3.0.6'.
Installing 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.CrossCore 3.0.6'.
Installing 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Successfully installed 'MvvmCross.HotTuna.StarterPack 3.0.6'.
Installing 'MvvmCross 3.0.6'.
Successfully installed 'MvvmCross 3.0.6'.
Adding 'MvvmCross.PortableSupport 3.0.6' to Clevermed.Badger.Mobile.Core.
Uninstalling 'MvvmCross.PortableSupport 3.0.6'.
Successfully uninstalled 'MvvmCross.PortableSupport 3.0.6'.
Install failed. Rolling back...
install-package : Specified argument was out of the range of valid values.
Parameter name: supportedFrameworks
At line:1 char:1
+ install-package MvvmCross
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Install-Package], ArgumentOutOfRangeException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
我正在使用Profile104,如中所述

这是一个类似但独立的错误

此外,如果我右键单击解决方案并“管理NuGet软件包”,我收到的错误是“指定的参数超出了有效值的范围”。参数名称:supportedFrameworks'


有什么想法可以进一步调试吗?

不确定,但是NuGet包MvvmCross.PortableSupport是否有问题

单击图像以全分辨率查看它


还要查看NuGet文档以了解受支持的目标框架变量的详细信息:

我不确定,但是您正在运行哪个版本的NuGet

要获得MonoTouch和MonoAndroid支持(以及一些便携式支持),您需要安装Nuget 2.5,作为旁注(不知道它是否会解决此问题):您可以在工具>扩展和更新中检查您的Nuget版本。在这里,您可以查看已安装软件包的列表及其版本

此外,如果您的nuget package manager已过期,它将显示在“更新”类别下


。。。另一方面,您的PackageManager控制台说它是2.5.0版本,所以我猜您在这方面是最新的

我在安装MvvMCross 3.0.6 Nuget软件包时遇到类似问题。我提出了一个类似的问题


因此,我遵循斯图尔特的建议,在项目中直接引用了MvvmCross dll,这很有魅力。您可以从下载MvvMCross代码。

我不知道如何下载,但我在C:\Program Files(x86)\Reference Assembly\Microsoft\Framework.NETPortable\v4.5\Profile中有一个空的Profile104文件夹

可能是我第一次尝试时留下的


删除此空目录可以使安装顺利完成。

我认为此软件包是问题所在,但它确实针对仅随Xamarin一起安装的框架。因此,我不确定是否会出现这种错误。那么,NuGet VS扩展在该包的包安装失败似乎是合乎逻辑的。但是,该依赖项在依赖项组中应该是有条件的:依赖项包应该指定该条件,因此,据我所知,问题在依赖项包中。我正在Visual Studio 2012中运行2.5.40416.9020更新Nuget,修复了该问题。谢谢。谢谢Gitte,我正在运行2.5.4。还有你的PCL,你检查了哪些TargetFramework?例如:您的windows phone目标是7.1还是7.5?例如,如果我自己选择7.1,我会收到一个类似(但略有不同)的错误。原来我在v4.5框架文件夹中创建了一个Profile104文件夹。这导致Nuget出错。谢谢。对我来说,问题是v4.5(而不是v4.0)目录中的Profile104文件夹工作正常。但并非所有类型的项目都适用。Profile104引用了“便携库”(即“Application.Core”项目基础)。如果没有这样的概要文件,那么您根本无法向其项目类型添加任何内容。