如何从VS2012中简单的Nuget安装解决MVC4 Twitter Bootstrap项目失败?

时间:2013-10-27 13:48:40

标签: c# asp.net-mvc asp.net-mvc-4 twitter-bootstrap twitter

我在使用Twitter引导程序启动MVC4应用程序时遇到问题。

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

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

似乎与某些导航路线选项相关的问题,因为我正在浏览这些少数句子Link 1Link 2

在阅读有关可能的编译问题的说明时,我重新启动了解决方案,但我收到的错误不是自述文件中的错误,而是围绕NavigationRouteOptionsNavigationRouteFilters,{{ 1}},RouteValueDictionaryFilterToken

HasFilterToken

我已经确认我也安装了'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?) Nuget包。

这只适用于VS 2013吗?

Nuget套餐的日期为2013年10月26日。

协助表示赞赏。

4 个答案:

答案 0 :(得分: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 -version 1.0.90
  •   

答案 1 :(得分:5)

早上好,我遇到了同样的问题,至少对我来说,这个工作>

而不是安装twetter.bootstrap,只需安装bootstrap包,因为它看起来像vs2013的版本,他们只是将包交给MS维护。

所以,卸载你当前的bootstrap版本(twitter一个),然后安装一般的bootstrap。 (或确保安装3.0.2版本)

install-package bootstrap

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

答案 2 :(得分:1)

对我来说,本教程中有关如何设置ASP.NET MVC 4和Twitter Bootstrap的工作正常:https://www.macaw.nl/weblog/2013/5/setting-up-a-solution-with-mvc4-and-twitter-bootstrap

答案 3 :(得分:0)

如果您创建一个VS2012项目(基本---不是因特网!),然后在bootstrapLayout.basic.cshtml(您将在共享文件夹中找到)中添加css文件并添加Javascript文件,则Muthu的解决方案有效。在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>