无法将bootstrap 4(beta)nuget软件包安装到.Net MVC(.Net版本4.6.2)

时间:2017-08-14 01:27:32

标签: nuget bootstrap-4 popper.js

我无法将bootstrap 4(beta)安装到我的MVC项目中。确切地说,popper.js nuget依赖是无法安装的。请让我知道任何可行的方法(凉亭安装仍然是一种方式,但我想与nuget一起去)

  

无法安装软件包' popper.js 1.11.0'。你正试图   将此包安装到目标项目中   ' .NETFramework,Version = v4.6.2',但该软件包不包含任何内容   程序集引用或与之兼容的内容文件   框架。有关更多信息,请与软件包作者联系

9 个答案:

答案 0 :(得分:14)

我终于可以通过执行以下操作来启动Bootstrap 4-Beta:

1。)安装popper.js NuGet包V1.12.3

2.)安装Bootstrap4-beta NuGet包

3.。)更新您的BundleConfig.cs以包含以下内容:请注意popper.js路径

bundles.Add(new ScriptBundle("~/Scrpts/Bootstrap").Include(
                             /*** Make sure popper.js is pointing to umd ***/
                             "~/Scripts/umd/popper.js", 
                             "~/Scripts/bootstrap.js",
                             ));

bundles.Add(new StyleBundle("~/CSS/Bootstrap").Include(
                            "~/Content/bootstrap.css"));

出于某种原因,如果您尝试使用\Scripts文件夹根目录中的popper.js,您将收到错误消息:

SyntaxError: export declarations may only appear at top level of a module

/Scripts/umd中的版本似乎有效。

答案 1 :(得分:5)

您可以通过手动将popper.js包添加到包配置中来解决此问题。

<package id="popper.js" version="1.11.1" targetFramework="net462" />

然后你可以进入nuget包管理器并正常安装。

答案 2 :(得分:2)

我设法通过在更新到bootstrap 4.0之前下载最新的(编写本文时为1.12.3)popper.js nuget包来解决这个问题。

然后在bundles.config中添加了像这样的popper js

bundles.Add(new ScriptBundle("~/bundles/popper").Include(
                      "~/Scripts/umd/popper.js"));

umd版本是唯一一个对我有用的版本,其他人给出了

的控制台错误
  

无法识别的令牌导出

确保在引导程序之前包含popper js文件。

@Scripts.Render("~/bundles/popper")
@Scripts.Render("~/bundles/bootstrap")

我还注意到,这打破了大部分自动生成的模板,因为它基于以前版本的bootstrap。导航栏几乎完全消失。我设法用以下内容替换它来修复我的,但这并不包括移动菜单中的任何项目。

<div class="navbar navbar-expand-lg navbar-dark bg-dark">   
        <a class="navbar-brand" href="#">My Blog</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse">
            <ul class="navbar-nav">
                <li class="nav-item">@Html.ActionLink("Home", "Index", "Home", new { @class = "nav-link" })</li>
                <li class="nav-item">@Html.ActionLink("About", "About", "Home", new { @class = "nav-link" })</li>
                <li class="nav-item">@Html.ActionLink("Contact", "Contact", "Home", new { @class = "nav-link" })</li>
            </ul>                
        </div>        
    </div>

我知道这个问题有一些好的答案,但这是对我有用的完整解决方案,所以我想我会分享它,希望将来可以节省一些时间。

答案 3 :(得分:1)

这里的问题相同......我在GitHub上为此创建了一个问题:https://github.com/FezVrasta/popper.js/issues/387

答案 4 :(得分:1)

Popper.js NuGet包已经破解,直到版本1.12.2 Bootstrap仍然需要版本1.11.x,遗憾的是,它已被破坏。

您应该等待Bootstrap关闭此问题:
https://github.com/twbs/bootstrap/issues/23622

同时您可以遵循Rob Quincey的建议。

答案 5 :(得分:1)

在使用NuGet安装软件包之前,展开“选项”并将“依赖关系行为”更改为“最高”。现在,当您安装软件包时,将首先安装最新的popper.js,以便安装bootstrap。

这使我无法单独安装popper。

答案 6 :(得分:0)

同样,不是修复,而是类似于@Alex的修复。

我通过使用NuGet单独安装它来解决它,所以首先安装popperjs(只是在NuGet包管理器中搜索popper)然后安装Bootstrap 4.它似乎只是在需要将其作为依赖项下载时才遇到上述错误而不是独立的。很奇怪。

答案 7 :(得分:0)

我对Popper附带的所有文件和文件夹以及与打字稿相关的代码以及NuGet和调试器消息不满意,所以我正在使用CDN,如下所示:

@ Scripts.Render( “〜/捆绑/ jquery的”)

    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>

到目前为止,一切正常。

答案 8 :(得分:0)

对于ASP.NET Webforms的使用:

我用预装的软件包(Bootstrap,Popper,jQuery)创建了一个新项目,并将其更新为最新版本,并且做到了:

  1. 添加到 App_Start / BundleConfig.cs

    bundles.Add(new ScriptBundle("~/bundles/popper").Include(
              "~/Scripts/umd/popper.js"));
    
  2. 添加到页眉(母版页)

    <asp:PlaceHolder runat="server"> <%: Scripts.Render("~/bundles/popper") %> <%: Scripts.Render("~/bundles/bootstrap")%> </asp:PlaceHolder>