Nuget外部包不能依赖于目标项目的包

时间:2013-11-01 22:44:09

标签: asp.net-mvc-4 twitter-bootstrap nuget

当我尝试在一个空的mvc4 web项目中安装包Twitter.Bootstrap时,我得到了这个

Install-Package Twitter.Bootstrap
Attempting to resolve dependency 'bootstrap (≥ 3.0.1)'.
Attempting to resolve dependency 'jquery (≥ 1.9.0)'.
Install-Package : External packages cannot depend on packages that target projects.
At line:1 char:1
+ Install-Package Twitter.Bootstrap
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

我该怎么做才能解决这个问题 ?

11 个答案:

答案 0 :(得分:21)

我有同样的问题,这项工作对我来说:

Install-Package Bootstrap

“从v3.0.1.1开始,Twitter.Boostrap软件包将开始将用户重定向到由Outercurve基金会管理的Bootstrap软件包。这一举措的原因很简单.Bootstrap是一个更清洁的命名空间,因为该项目放弃了twitter在几个版本之前命名,Bootstrap现在正式附带Visual Studio 2013 ASP.Net模板。为了避免混淆哪个版本是“官方”,我们同意将每个人重定向到新的Microsoft维护名称空间。“ p>

http://chriskirby.net/bootstrap-nuget-package-moving-to-outercurve/

https://github.com/sirkirby/twitter-bootstrap-nuget/issues/22

答案 1 :(得分:12)

我在VS 2010和VS 2012上遇到了同样的错误。建议的解决方案没有解决问题,但我注意到NuGet Package for Bootstrap的日期是2013年11月1日(昨天)。新软件包的版本号为3.0.1.1,它列出了Bootstrap 3.0.1或更高版本的依赖项。看起来这个包的版本3.0.1.1中存在错误,在依赖项中带有循环引用。寻找同一作者的3.0.1版本。

答案 2 :(得分:5)

我假设您正在使用Visual Studio 2012.在VS2012中,默认情况下,新的MVC4项目加载了jquery 1.7。但是Bootstrap 3.0.1依赖于jquery 1.9或更高版本

首先运行

update-package jQuery

然后

install-package twitter.bootstrap

答案 3 :(得分:5)

我遇到了同样的问题。在我更新了NuGet Manager后,它解决了问题。要更新NuGet Manager,您可以使用工具 - >扩展和更新

答案 4 :(得分:2)

安装Bootstrap 3.0.1.1时遇到同样的问题。它确实看起来正在寻找3.0.1的依赖性。我最后安装3.0.0没问题。

答案 5 :(得分:1)

我有同样的问题让我想到了这个问题。在包管理器中,我搜索了bootstrap,并返回了几个结果。

我单击列表顶部的on并尝试安装此版本(版本3.0.1.1)并收到原始问题中报告的错误。该软件包的ID是Id:Twitter.Bootstrap

使用版本3.0.2列出了另一个Bootstrap软件包,其中包含Id:bootstrap

我安装了第二个v.3.0.2,安装时没有任何问题。

取自fontawesome: “Outercurve的人们已经接受了对Twitter.Bootstrap程序包的支持,现在简称为bootstrap。 更多信息http://chriskirby.net/bootstrap-nuget-package-moving-to-outercurve/

在我看来,重定向到新的Microsoft维护命名空间会导致这种情况发生。

答案 6 :(得分:1)

我的问题完全解决了

尝试

Install-Package Bootstrap

而不是

Install-Package Twitter.Bootstrap

参考帖子:

Bootstrap v3.0.1.1 fails on clean VS empty project - how to resolve? $ privUrl

如何启动Package Manager控制台

http://docs.nuget.org/docs/start-here/using-the-package-manager-console

答案 7 :(得分:0)

尝试使用NuGet Package Manager安装 Twitter bootstrap MVC 并享受

答案 8 :(得分:0)

试试更新vs2012!我解决了!

答案 9 :(得分:0)

我将VS2012更新为VS2013。它解决了问题

答案 10 :(得分:0)

我也有同样的问题。但在更新Nuget Manager后解决了,之后再次尝试。