2013-10-27 33 views
19

我在使用Twitter引导启动MVC4应用程序时遇到了问题。如何解决MVC4 Twitter Bootstrap项目在VS2012中的简单Nuget安装失败?

在VS 2012年,我创建了一个新的空MVC4应用程序,安装以下软件包:

  • 安装,包装twitter.bootstrap.mvc4
  • 安装,包装twitter.bootstrap.mvc4.sample

看起来像一些导航路线选项相关的问题,因为我正在经历这些少数几个地区Link 1Link 2

在阅读有关可能的说明编译的问题,我重新启动了解决方案,但我收到的错误是不是自述的那些,并重点围绕NavigationRouteOptionsNavigationRouteFiltersRouteValueDictionaryFilterTokenHasFilterToken

'System.Web.Routing.RouteValueDictionary' does not contain a definition for 'HasFilterToken' and no extension method 'HasFilterToken' accepting a 
first argument of type 'System.Web.Routing.RouteValueDictionary' could be found (are you missing a using directive or an assembly reference?) 
...\AdministrationRouteFilter.cs 18 

'System.Web.Routing.RouteValueDictionary' does not contain a definition for 'FilterToken' and no extension method 'FilterToken' accepting a 
first argument of type 'System.Web.Routing.RouteValueDictionary' could be found (are you missing a using directive or an assembly reference?) 
..\AdministrationRouteFilter.cs 20 

The name 'NavigationRouteFilters' does not exist in the current context 

'NavigationRouteOptions' could not be found (are you missing a using directive or an assembly reference?) 

我已确认我确实已安装了navigationroutes.mvc4 Nuget包。

这只适用于VS 2013?

的的NuGet包的日期为10月26日,2013年

援助表示赞赏。

+0

这是11月19日,我有与VS2012中的NuGet安装包同样的问题。当我应用Muthu提供的修复程序时,由于Application_Start()中的重复调用到RegisterRoutes(),导致运行时错误。我很惊讶这个问题还没有得到解决...... – Sephrial

+0

因此,将Nuget软件包应用于项目始终存在危险 - 您并不总是知道它们作为依赖项添加的内容,只是添加它们并不能你有一个关于它们如何连接的好主意.Bootstrap只是一个UI模板。我应用了自己的模板,并将它连接到自己......没有捷径。 – ElHaix

+0

顺序安装/卸载将工作如下 PM>安装,包装twitter.bootstrap.mvc4 - 版本1.0.90 PM>安装,包装twitter.bootstrap.mvc4.htmlhelpers - 版本1.0.90 PM>安装-Package twitter.bootstrap.mvc4.sample -Version 1.0.90 –

回答

35

似乎已经有关于误差github

尝试卸载1.1.100的讨论,并按照以下顺序安装1.0.90版本。

  • PM>安装,包装twitter.bootstrap.mvc4.sample -Version 1.0.90
  • PM>卸载,包装twitter.bootstrap.mvc4.htmlhelpers -Force
  • PM>安装,包twitter.bootstrap.mvc4.htmlhelpers -version 1.0.90
  • PM>卸载,包装twitter.bootstrap.mvc4 -Force
  • PM>安装,包装twitter.bootstrap.mvc4 - 版本1.0.90
+1

谢谢。这让我进一步了,但是,在Global.asax.cs中存在'* .RegisterBundles'和'* .RegisterRoutes'的重复条目,这会导致重复的与路由相关的异常。删除那些渲染UI但没有找到CSS和'/ bundles/modernizr' ... – ElHaix

+1

哪个浏览器? – Muthu

+0

共享布局文件包含无效的CSS路由;取代了这些,但也注意到引用'〜/ Content/css-responsive' - 它不存在。某处是否存在稳定的安装过程? – ElHaix

5

早上好伙计们,我遇到了完全一样的问题,至少对我来说,这个工作>

而不是安装twetter.bootstrap,只需安装引导软件包,因为它看起来像与发布vs2013,他们只是把包裹交给MS维护。

所以,卸载你当前的引导版本,(推特一),只需安装一般引导程序。 (或一定要安装版本3.0.2)

install-package bootstrap 

请注意此修复,适用于VS2k12。

+0

是的,我和OP以及其他所有人都有同样的问题,所以我卸载了所有的东西,并按照您的建议运行“install-package bootstrap”,并且所有的东西都可以用来说话。谢谢!! – hardba11

+0

对我来说也是如此。谢谢@Pablo Contreras – Bazinga

0

Muthu的解决方案如果你创建一个VS2012项目(基本---不是互联网!),然后在bootstrapLayout.basic.cshtml(你可以在共​​享文件夹中找到)添加CSS文件并添加Javascript bootstrapLayout.basic.cshtml底部的文件。这是我的bootstraplayout.basic.cshtml。注意...脚本文件的顺序很重要(祝你好运!)...并感谢Mithu!

@using System.Web.Optimization 
@using BootstrapSupport 
@using NavigationRoutes 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>@ViewBag.Title</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     @*<link href="@Styles.Url("~/content/css")" rel="stylesheet"/>*@ 
@* @Styles.Render("~/Content/bootstrap.min.css") 
    @Scripts.Render("~/bundles/modernizr")*@ 
     <link href="~/Content/body.css" rel="stylesheet" /> 
     <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> 
     <link href="~/Content/bootstrap-responsive.min.css" rel="stylesheet" /> 
     @RenderSection("head", required: false) 
     @Html.Partial("_html5shiv") 
     @* favicons and touch icons go here *@ 
    </head> 
    <body> 
     <div class="navbar navbar-inverse navbar-fixed-top"> 
      <div class="navbar-inner"> 
       <div class="container"> 
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </a> 
        <a class="brand" href="#" title="change in _bootstrapLayout.basic.cshtml">Application Name</a> 
        <div class="nav-collapse collapse"> 
         <ul class="nav"> 
          @Html.Navigation() 
         </ul> 
        </div> 
       </div> 
      </div> 
     </div>   
     <div class="container"> 
      @Html.Partial("_alerts") 
      @Html.Partial("_validationSummary") 
      @RenderBody() 
      <hr> 
      <footer> 
       <p>&copy; Company @System.DateTime.Now.ToString("yyyy")</p> 
      </footer> 
     </div> 
     @*@Scripts.Render("~/js")*@ 
     <script src="~/Scripts/jquery-1.9.1.min.js"></script> 
     <script src="~/Scripts/jquery-ui-1.8.24.min.js"></script> 
     <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 
     <script src="~/Scripts/jquery.validate.min.js"></script> 
     <script src="~/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js"></script> 
     <script src="~/Scripts/knockout-2.2.0.js"></script> 
     <script src="~/Scripts/bootstrap.min.js"></script> 

     @RenderSection("Scripts", required: false) 
    </body> 
</html> 
相关问题