Не удалось установить пакет bootstrap 4 (beta) nuget для .Net MVC (.Net version 4.6.2)

Я не могу установить bootstrap 4 (бета) в мой проект MVC. Если быть точным, то не удалось установить зависимость nuget от popper.js. Пожалуйста, дайте мне знать любой возможный способ сделать это (установка bower все еще есть способ, но я хочу пойти с nuget)

Не удалось установить пакет 'popper.js 1.11.0'. Вы пытаетесь установите этот пакет в проект, целью которого является '.NETFramework, Version = v4.6.2', но пакет не содержит никаких ссылки на сборку или файлы содержимого, которые совместимы с этим фреймворк. Для получения дополнительной информации свяжитесь с автором пакета

Ответ 1

Наконец-то я смог запустить 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"));

По какой-то причине, если вы попытаетесь использовать popper.js в корневом каталоге \Scripts, вы получите сообщение об ошибке:

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

но версия в /Scripts/umd, похоже, работает.

Ответ 2

Вы можете обойти это, вручную добавив пакет popper.js в конфигурацию своих пакетов.

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

Затем вы можете войти в диспетчер пакетов nuget и установить нормально.

Ответ 3

Мне удалось обойти эту проблему, загрузив последнюю (1.12.3 на момент написания) пакет popper.js nuget перед обновлением до bootstrap 4.0.

Затем в 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")

Я также заметил, что это нарушило большую часть созданного автоматически шаблона, поскольку оно основано на предыдущих версиях бутстрапа. Наббар почти полностью исчезает. Мне удалось исправить мою, заменив ее следующим, но это не включает никаких элементов в мобильном меню.

<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>

Я знаю, что у этого вопроса есть несколько хороших ответов, но это было полное решение, которое сработало для меня, поэтому я подумал, что поделюсь им в надежде, что он немного позаботится о ком-то в будущем.

Ответ 5

Пакет Popper.js NuGet был поврежден до версии 1.12.2.
Bootstrap по-прежнему требует версию 1.11.x, которая, к сожалению, сломана.

Вы должны подождать Bootstrap, чтобы закрыть эту проблему:
https://github.com/twbs/bootstrap/issues/23622

тем временем вы можете следовать предложению Роба Квинси.

Ответ 6

Перед установкой пакета с помощью NuGet разверните "Параметры" и измените "Поведение зависимостей" на "Высшее". Теперь, когда вы устанавливаете пакет, последний popper.js будет установлен сначала, чтобы bootstrap также установился.

Это помешало мне установить поппер отдельно.

Ответ 7

Опять же, не исправление, но похожее на fix by @Alex.

Я разрешил его, установив их отдельно с помощью NuGet, поэтому сначала устанавливаем popperjs (просто выполняем поиск поппера в диспетчере пакетов NuGet), затем устанавливаем Bootstrap 4. Кажется, что только эта ошибка возникает, когда нужно загрузить ее как зависимость а не автономно. Очень странно.

Ответ 8

Я был недоволен всеми файлами и папками и typescript -связанным кодом и сообщениями NuGet и отладчика, которые поставлялись с Popper, поэтому я использую 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>

До сих пор все работало нормально.

Ответ 9

Для использования веб-форм ASP.NET:

Я создал новый проект с предустановленными пакетами (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>