无法将 bootstrap 4(测试版)nuget 包安装到 .Net MVC(.Net 版本 4.6.2)
Not able to install bootstrap 4 (beta) nuget package to .Net MVC (.Net version 4.6.2)
我无法将 bootstrap 4(beta) 安装到我的 MVC 项目中。准确地说 popper.js nuget 依赖项安装失败。请让我知道任何可能的方法(bower install 仍然是一种方法,但我想使用 nuget)
Could not install package 'popper.js 1.11.0'. You are trying to
install this package into a project that targets
'.NETFramework,Version=v4.6.2', but the package does not contain any
assembly references or content files that are compatible with that
framework. For more information, contact the package author
您可以通过手动将 popper.js 包添加到您的包配置中来解决这个问题。
<package id="popper.js" version="1.11.1" targetFramework="net462" />
然后就可以进入nuget包管理器正常安装了
同样的问题...我为此在 GitHub 上创建了一个问题:https://github.com/FezVrasta/popper.js/issues/387
同样,不是修复,但类似于@Alex 的修复。
我通过NuGet分别安装解决了,所以先安装popperjs(在NuGet包管理器中搜索popper即可)然后安装Bootstrap 4. 好像只有需要的时候才会出现上面的错误将其作为依赖项而不是独立下载。很奇怪。
Popper.js NuGet 包在版本 1.12.2 之前已损坏。
Bootstrap 仍然需要版本 1。11.x,不幸的是,它已损坏。
您应该等待 Bootstrap 关闭此问题:
https://github.com/twbs/bootstrap/issues/23622
同时您可以按照的建议。
在更新到 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 版本是唯一对我有用的版本,其他版本给出了
的控制台错误
Unrecognised Token Export
只需确保在 bootstrap 之前包含 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>
我知道这个问题有一些很好的答案,但这是对我有用的完整解决方案,所以我想我会分享它,希望它能在将来为别人节省一些时间。
通过执行以下操作,我终于能够让 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
中的版本似乎有效。
我对 Popper 附带的所有文件和文件夹以及与打字稿相关的代码以及 NuGet 和调试器消息不满意,所以我使用 CDN,如下所示:
@Scripts.Render("~/bundles/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>
到目前为止一切正常。
在使用 NuGet 安装包之前,展开 "Options" 并将 "Dependency Behavior" 更改为 "Highest"。现在,当您安装软件包时,最新的 popper.js 将首先安装,允许 bootstrap 也被安装。
这使我不必单独安装 popper。
对于 ASP.NET 网络表单的使用:
我创建了一个带有预装包(Bootstrap、Popper、jQuery)的新项目,将它们更新到最新版本并做了:
添加到App_Start/BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/popper").Include(
"~/Scripts/umd/popper.js"));
添加到页眉(母版页)
<asp:PlaceHolder runat="server">
<%: Scripts.Render("~/bundles/popper") %>
<%: Scripts.Render("~/bundles/bootstrap")%>
</asp:PlaceHolder>
我无法将 bootstrap 4(beta) 安装到我的 MVC 项目中。准确地说 popper.js nuget 依赖项安装失败。请让我知道任何可能的方法(bower install 仍然是一种方法,但我想使用 nuget)
Could not install package 'popper.js 1.11.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.6.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author
您可以通过手动将 popper.js 包添加到您的包配置中来解决这个问题。
<package id="popper.js" version="1.11.1" targetFramework="net462" />
然后就可以进入nuget包管理器正常安装了
同样的问题...我为此在 GitHub 上创建了一个问题:https://github.com/FezVrasta/popper.js/issues/387
同样,不是修复,但类似于@Alex 的修复。
我通过NuGet分别安装解决了,所以先安装popperjs(在NuGet包管理器中搜索popper即可)然后安装Bootstrap 4. 好像只有需要的时候才会出现上面的错误将其作为依赖项而不是独立下载。很奇怪。
Popper.js NuGet 包在版本 1.12.2 之前已损坏。
Bootstrap 仍然需要版本 1。11.x,不幸的是,它已损坏。
您应该等待 Bootstrap 关闭此问题:
https://github.com/twbs/bootstrap/issues/23622
同时您可以按照
在更新到 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 版本是唯一对我有用的版本,其他版本给出了
的控制台错误Unrecognised Token Export
只需确保在 bootstrap 之前包含 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>
我知道这个问题有一些很好的答案,但这是对我有用的完整解决方案,所以我想我会分享它,希望它能在将来为别人节省一些时间。
通过执行以下操作,我终于能够让 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
中的版本似乎有效。
我对 Popper 附带的所有文件和文件夹以及与打字稿相关的代码以及 NuGet 和调试器消息不满意,所以我使用 CDN,如下所示:
@Scripts.Render("~/bundles/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>
到目前为止一切正常。
在使用 NuGet 安装包之前,展开 "Options" 并将 "Dependency Behavior" 更改为 "Highest"。现在,当您安装软件包时,最新的 popper.js 将首先安装,允许 bootstrap 也被安装。
这使我不必单独安装 popper。
对于 ASP.NET 网络表单的使用:
我创建了一个带有预装包(Bootstrap、Popper、jQuery)的新项目,将它们更新到最新版本并做了:
添加到App_Start/BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/popper").Include( "~/Scripts/umd/popper.js"));
添加到页眉(母版页)
<asp:PlaceHolder runat="server"> <%: Scripts.Render("~/bundles/popper") %> <%: Scripts.Render("~/bundles/bootstrap")%> </asp:PlaceHolder>