无法将NuGet包安装到项目中

时间:2014-01-29 16:31:20

标签: c# .net visual-studio nuget

我无法将NuGet包System.IdentityModel.Tokens.Jwt(.Net JWT Handler)安装到我的项目中。如果我尝试使用NuGet安装软件包,它将仅安装到解决方案的根目录中(在解决方案的根目录中创建.nuget文件夹)。我需要在我的项目中安装软件包,而不是解决方案。

为什么会这样?我尝试将项目名称传递给程序包管理器控制台中的Install-Package命令,看起来它安装正确但没有引用添加到我的项目中,并且packages.config文件未更新。

我的项目目前正在引用.Net 4.5.1,我也尝试过.Net 4.5。

我要安装的软件包在这里:
System.IdentityModel.Tokens.Jwt

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。我试图按照本文http://msdn.microsoft.com/en-us/library/dn205064(v=vs.110).aspx中的说法安装软件包 所以,我查看包历史,最后我安装了以前的包 http://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt/3.0.0

对我来说很好。

答案 1 :(得分:0)

使用NuGet,您现在可以指定安装软件包的目录。

http://docs.nuget.org/docs/release-notes/nuget-2.1

指定'包'文件夹位置

过去,NuGet已经从解决方案根目录下的已知“packages”文件夹中管理了解决方案的软件包。对于具有许多安装了NuGet包的不同解决方案的开发团队,这可能导致在文件系统上的许多不同位置安装相同的包。 NuGet 2.1通过NuGet.config文件中的'repositoryPath'元素提供了对packages文件夹位置的更精细控制。在前面的分层nuget.config支持示例的基础上,假设我们希望C:\ myteam \下的所有项目共享相同的packages文件夹。要完成此操作,只需将以下条目添加到C:\ myteam \ nuget.config。

答案 2 :(得分:0)

软件包System.IdentityModel.Tokens.Jwt 3.0.1存在一些问题:文件System.IdentityModel.Tokens.Jwt.dllSystem.IdentityModel.Tokens.Jwt.Xml应放在目录lib\net45中,但它们放在根目录中目录而不是。这导致NuGet认为包是一个解决方案级别的包,并且不会将包安装到项目中。

此问题已在System.IdentityModel.Tokens.Jwt 3.0.2

中修复