繁体   English   中英

为什么我不能安装目标框架配置文件为136的NuGet软件包?

[英]Why can't I install a NuGet package which has target framework profile of 136?

我正在尝试使用Visual Studio 2010中的NuGet包管理器安装Humanizer (另请参见GitHubNuGet Gallery页面)。 该文档建议它应支持.NET 4+。

在全新的空MVC4项目上发出以下命令:

PM>安装程序包Humanizer

给我以下结果:

成功安装了“ Humanizer 1.26.1”。
已成功卸载“ Humanizer 1.26.1”。
安装失败。 滚回来...
Install-Package:无法安装软件包“ Humanizer 1.26.1”。 您正在尝试将此软件包安装到以“ .NETFramework,Version = v4.0”为目标的项目中,但是该软件包不包含与该框架兼容的任何程序集引用。 有关更多信息,请与软件包作者联系。
在线:1个字符:16个
+安装软件包<<<< Humanizer
+ CategoryInfo:未指定:(:) [Install-Package],InvalidOperationException
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

下午>

我直接与作者联系(随后在GitHub上提出了问题 )。 他提到该程序包以应支持.NET 4的Profile136为目标(也可以在csproj文件中看到 ):

<TargetFrameworkProfile>Profile136</TargetFrameworkProfile>

我环顾四周,阅读了有关构建便携式类库的SO问题 读完该书后,我发现Visual Studio 2010 需要一个加载项来启用PCL的构建。

我知道我不在这里构建,但是无论如何我都安装了它,以及更新的参考程序v4.6

看过以下文件夹:

C:\\ Program Files(x86)\\ Reference Assemblys \\ Microsoft \\ Framework \\ .NETPortable \\ v4.0 \\ Profile

我发现我最多只能有131个配置文件,而没有136个。

前面提到的SO问题答案表明,在Windows Phone SDK 8.0中添加了136。 但是我不能在Windows 7上安装它。

为什么我不能在Visual Studio 2010中安装此程序包? 是因为我的计算机上没有配置文件136,还是仅用于构建 PCL?

请注意,我已经成功安装了其他NuGet软件包,例如log4net。

您无需安装可移植类库即可将Humanizer NuGet程序包添加到针对.NET 4.0的项目中。

配置文件136位于Portable v4.6参考组件中。 要安装它,您需要解压缩安装程序安装的zip文件。 但是,您不需要安装任何PCL。

作为测试,我重命名了.NETPortable库目录,因此NuGet没有检测到可移植库。 然后,使用一个空的ASP.NET MVC 4项目,我可以在Visual Studio 2010中添加对Humanizer的引用。

如果您安装了最新版本的NuGet,则它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM