安装Caliburn.Micro NuGet包总是失败

时间:2015-08-20 23:59:47

标签: visual-studio-2012 nuget caliburn.micro

我正在尝试从GitHub编译Caliburn.Micro项目,因此我可以生成在我自己的项目中使用的DLL - 一个Caliburn.Micro Xamarin Native Android项目。

我已将Caliburn.Micro.sln(位于src文件夹中)加载到Visual Studio 2012专业版中,并尝试构建Caliburn.Micro项目。我得到40个与元数据有关的错误。例如;

Error   5   Metadata file '_Tests\Caliburn.Micro-xamarin\Caliburn.Micro-xamarin\bin\net45\Debug\Caliburn.Micro.Platform.dll' could not be found _Tests\Caliburn.Micro-xamarin\Caliburn.Micro-xamarin\src\Caliburn.Micro.Tests.NET45\CSC Caliburn.Micro.Tests.NET45

所以我试图在这个项目上安装Caliburn.Micro NuGet包,我收到以下错误。我还创建了自己的新解决方案并尝试安装Caliburn.Micro NuGet包,并发生同样的错误。

任何想法出了什么问题?

PM> Install-Package Caliburn.Micro
Attempting to resolve dependency 'Caliburn.Micro.Core (= 2.0.2)'.
Installing 'Caliburn.Micro.Core 2.0.2'.
Successfully installed 'Caliburn.Micro.Core 2.0.2'.
Installing 'Caliburn.Micro 2.0.2'.
Successfully installed 'Caliburn.Micro 2.0.2'.
Adding 'Caliburn.Micro.Core 2.0.2' to Caliburn.Micro.
Uninstalling 'Caliburn.Micro.Core 2.0.2'.
Successfully uninstalled 'Caliburn.Micro.Core 2.0.2'.
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 Caliburn.Micro
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], ArgumentOutOfRangeException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

1 个答案:

答案 0 :(得分:0)

参数名称为supportedFrameworks的ArgumentOutOfRangeException通常意味着您的一个或多个可移植类库(PCL)配置文件出现了问题。

NuGet查看各种PCL目录中的.xml文件,例如:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile259\SupportedFrameworks

如果由于某种原因NuGet在其中一个目录中找不到任何非Xamarin配置文件xml文件,它将抛出ArgumentOutOfRangeException。 SupportedFrameworks目录将为空或者可能只有Xamarin .xml文件,这两个问题都会导致ArgumentOutOfRangeException。

要查找哪个PCL配置文件缺少.xml文件,您可以查看每个PCL配置文件目录或调试NuGet。

我通常使用一个使用NuGet的console app,但你可以轻松调试,传递 list 命令行参数,该参数将触发与NuGet版本2相同的代码路径。如果你那么在line of code that throws the ArgumentOutOfRangeException上放置一个断点,您应该可以看到哪个PCL配置文件导致了问题。