ASP.NET Core MVC 2.1 中是否有某些内容替换了bundleconfig.json?

问题描述 投票:0回答:6

当我创建一个面向 2.1 RC1 的新 ASP.NET MVC Core 时,它不会创建用于捆绑和缩小的 bundleconfig.json 文件。如果我的目标是 2.0,则会创建此文件。

这是一个示例,该解决方案包含一个目标为 2.0 的新项目和另一个目标为 2.1 的新项目: enter image description here

有什么东西取代了内置的捆绑和缩小,还是这只是 RC1 中的一个错误?

.net-core asp.net-core-mvc asp.net-core-2.1
6个回答
29
投票

bundleconfig.json 已从 2.1 模板中删除,因为它依赖于非 Microsoft 创建或支持的工具。请参阅 https://github.com/aspnet/templated/issues/326

此文件 [bundleconfig.json] 用于配置 BundlerMinifier 工具的各种咒语,该工具实际上并未在模板中提供,也不受 Microsoft 支持。

请参阅文档: https://docs.microsoft.com/aspnet/core/client-side/bundling-and-magnification 有关配置此项目以捆绑和缩小静态 Web 资源的详细信息。

来自 Microsoft 文档的 2024 年 5 月更新 选择捆绑和缩小策略

ASP.NET Core 与开源捆绑和缩小解决方案WebOptimizer兼容。有关设置说明和示例项目,请参阅 WebOptimizer。 ASP.NET Core 不提供本机捆绑和缩小解决方案。

Gulp 和 Webpack 等第三方工具提供了用于捆绑和缩小以及 linting 和图像优化的工作流程自动化。

2018 年 5 月的建议:ASP.NET Core 团队已将 bundleconfig 替换为“libman”。右键单击项目 --> 添加 --> 客户端库并添加您需要的包


7
投票

我遇到了同样的问题,我能够将现有的捆绑文件复制到项目中,这对我有用。 您确实需要遵循此指南并安装 Bundle & Minifier 扩展……另外,请确保您使用的是 VS 15.7。

看起来捆绑文件确实没有包含在最新的项目模板中。


4
投票

请注意,这适用于 net core 2.2,不确定是否适用于 2.1。另请注意,从 net core 3 开始,似乎应该(必须?)使用“本地工具”:https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core -3-0#本地工具

终于使用(截至撰写本文时)推荐的

BundlerMinifier.Core
包成功配置了预构建捆绑。

将以下内容添加到您的 .csproj 文件中:

  <!-- 
       WARNING: don't update to latest version of BundlerMinifier.Core (as of 3.2.435)! 
         3.0.415 is the latest version that appears to work with this method of
         automating bundling/minification 
  -->
  <ItemGroup>
    <PackageReference Include="BundlerMinifier.Core" Version="3.0.415" />
    <DotNetCliToolReference Include="BundlerMinifier.Core" Version="3.0.415" />
  </ItemGroup>
  <Target Name="RestoreToolsAndBundle" BeforeTargets="Build">
    <Exec Command="dotnet tool restore" />
    <Exec Command="dotnet bundle" WorkingDirectory="$(ProjectDir)" />
  </Target>

请注意,这应该是您需要的全部;您不需要“Bundler & Minifier”VS 扩展,也不需要“BuildBundlerMinifier”包。

尝试构建,您希望在

Output
中看到捆绑和缩小已完成,按照您的
bundleConfig.json


3
投票

此外,截至 2021 年,请考虑我对类似问题的回答: https://stackoverflow.com/a/66659756/5101

TL;博士; - 使用 Mads Kristensen 的 WebOptimizer Core nuget 包,适用于 .NET Core 3+ 和 .NET 5+


1
投票

只需将 BuildBundlerMinifier Nuget 添加到项目中,然后重建它


0
投票

我刚刚在 ASP.NET Core MVC 项目上安装了 Bundler 和 Minifier。当我右键单击 Bundler and Minifier > Bundle File 时,它为我创建了一个

bundleconfig.json
,然后我可以将其设置为在每个构建上捆绑。将我的 Web 应用程序发布到 Azure 发送了正确的缩小 CSS 和 JS 文件。

一个缺点是你必须缩小每个文件,这对我来说并不重要,因为我有 2 个,但我想大多数实际项目都会有更多。

© www.soinside.com 2019 - 2024. All rights reserved.