在ASP.NET Core MVC 2.1中有什么东西取代了bundleconfig.json吗?

时间:2018-05-18 20:45:54

标签: .net-core asp.net-core-mvc asp.net-core-2.1

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

以下是一个示例,该解决方案包含一个针对2.0的新项目和另一个针对2.1的项目: enter image description here

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

7 个答案:

答案 0 :(得分:23)

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

  

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

ASP.NET核心团队正在考虑将其替换为“libman”,这将成为受支持的Visual Studio功能。但是,这项工作尚未完成。见https://github.com/aspnet/templating/issues/471

答案 1 :(得分:6)

我遇到了同样的问题,我能够将现有的捆绑文件复制到项目中,这对我有用。你需要follow this guidance并安装Bundle& Minifier扩展......还要确保你使用的是VS 15.7。

看起来捆绑文件不包含在最新的项目模板中。

答案 2 :(得分:4)

请注意,这适用于Net Core 2.2,而不是2.1。另请注意,从网络核心3开始,似乎(必须?)应该使用“本地工具”代替:https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#local-tools

最后(使用撰写时)推荐的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 :(得分:1)

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

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

我刚刚在ASP.NET Core MVC项目中安装了Bundler和Minifier。当我右键单击 Bundler and Minifier>捆绑文件时,它为我制作了bundleconfig.json,然后可以将其设置为在每个版本上捆绑。将我的Web应用发布到Azure会发送正确的缩小的CSS和JS文件。

一个缺点是您必须最小化每个文件,这对我来说无关紧要,因为我有2个文件,但我想大多数实际项目都将不止如此。

答案 6 :(得分:0)

选项 1

从 NuGet 安装 BuildBundlerMinifier 包,然后一旦构建项目,就会生成包。

选项 2

安装 Bundler & Minifier Visual Studio 扩展

选项 3

您可以使用 Gulp、Grunt 或 Webpack 等任务运行器来实现更高级的捆绑和缩小场景。

您可以在 ASP.NET Core 中阅读我的 Step by Step Guide to Bundling and Minification,它将教您以下内容:

  • 捆绑和缩小简介
  • ASP.NET Core 中的捆绑和缩小策略
  • 使用 bundleconfig.json 文件配置捆绑包
  • 使用 BuildBundlerMinifier 包进行打包和缩小
  • 基于环境的捆绑和缩小
  • 使用 Bundler 和 Minifier Visual Studio 扩展
相关问题