2013-10-27 7 views
19

TwitterのブートストラップでMVC4アプリケーションを起動する際に問題があります。 VS 2012でVS2012の単純なNugetインストールからMVC4 Twitter Bootstrapプロジェクトが失敗する問題を解決するには?

、私は、新しい空のMVC4アプリケーションを作成し、以下のパッケージをインストール:

  • インストール・パッケージtwitter.bootstrap.mvc4を
  • は、インストール・パッケージを
  • twitter.bootstrap.mvc4.sample

いくつかのナビゲーションオプションのようなものですが、私はこれらのいくつかのトーナリーLink 1Link 2を調べています。

は、問題をコンパイルする可能性についての注意を読んで、私は解決策を再起動し、私は受けてるのエラーはreadmeのものではなく、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パッケージを適用することは常に危険です。あなたが依存関係として何を追加しているのか分かりません。ブートストラップは単にUIテンプレートです。自分のテンプレートを適用し、自分で配線しています...ショートカットはありません。インストール/アンインストール用 – ElHaix

+0

シーケンスは PM>インストール・パッケージtwitter.bootstrap.mvc4 -version 1.0.90 を PM>インストール・パッケージのtwitter.bootstrap.mvc4.htmlhelpers PM>はインストール-version 1.0.90 以下のように動作します-Package twitter.bootstrap.mvc4.sample -Version 1.0.90 –

答えて

35

github

でエラーに関する議論1.1.100をアンインストールしようとすると、次の順序で1.0.90バージョンをインストールするには、すでに存在しているようです。 >インストール・パッケージ

  • PM -Version 1.0.90
  • PM>アンインストール・パッケージtwitter.bootstrap.mvc4.htmlhelpers -Force
  • PM>インストール・パッケージtwitter.bootstrap.mvc4.sample twitter.bootstrap.mvc4.htmlhelpers -version>アンインストール・パッケージtwitter.bootstrap.mvc4 -Force
  • PM>インストール・パッケージtwitter.bootstrap.mvc4 -version 1.0.90
.0.90
  • PMの
  • +1

    ありがとうございました。しかし、これは、ルート関連の重複を引き起こす '* .RegisterBundles'と' * .RegisterRoutes'のためにGlobal.asax.csの重複したエントリがさらに存在しています。それらを削除するとUIはレンダリングされますがCSSはなく、 '/ bundles/modernizr'が見つかりません... – ElHaix

    +1

    どのブラウザ? – Muthu

    +0

    共有レイアウトファイルに無効なCSSルートが含まれています。これらは置き換えられましたが、存在しない '〜/ Content/css-responsive'への参照にも気付きました。どこかに記載されている安定したインストール手順はありますか? – ElHaix

    5

    おはようのfellas、私は正確に同じ問題に遭遇しており、少なくとも私にとっては、これは働いていた>

    の代わりtwetter.bootstrapをインストールし、それが持つように見えるので、ちょうど、ブートストラップパッケージをインストールvs2013のリリースで、彼らはパッケージをMSメンテナンスに渡したばかりです。

    現在のブートストラップバージョン(ツイッター1)をアンインストールして、一般的なブートストラップをインストールするだけです。 (または、バージョン3.0.2をインストールしてください)

    install-package bootstrap 
    

    この修正は、VS2k12に適用されます。

    +0

    さて、私はOPや他のものと同じ問題を抱えていたので、すべてをアンインストールし、あなたが提案したように "install-package bootstrap"を実行しました。ありがとう!! – hardba11

    +0

    私にとっても同じことが当てはまります。ありがとう@パブロコントレラス – 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> 
    
    関連する問題