.net core ASP.NET核心MVC 2.1中的bundleconfig.json是否已被某些东西取代?

.net core ASP.NET核心MVC 2.1中的bundleconfig.json是否已被某些东西取代?,.net-core,asp.net-core-mvc,asp.net-core-2.1,.net Core,Asp.net Core Mvc,Asp.net Core 2.1,当我以2.1 RC1为目标创建新的ASP.NET MVC核心时,它不会创建用于绑定和缩小的bundleconfig.json文件。如果我的目标是2.0,则会创建此文件 以下是一个示例,该解决方案包含一个新的目标为2.0的项目和另一个目标为2.1的项目: 是否有什么东西取代了内置的捆绑和缩小,或者这只是RC1中的一个bug?我也遇到了同样的问题,我能够将现有的捆绑文件复制到项目中,这对我很有效。您确实需要安装Bundle&Minifier扩展…另外,请确保您使用的是VS15.7 看起来捆绑包文件

当我以2.1 RC1为目标创建新的ASP.NET MVC核心时,它不会创建用于绑定和缩小的bundleconfig.json文件。如果我的目标是2.0,则会创建此文件

以下是一个示例,该解决方案包含一个新的目标为2.0的项目和另一个目标为2.1的项目:


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

我也遇到了同样的问题,我能够将现有的捆绑文件复制到项目中,这对我很有效。您确实需要安装Bundle&Minifier扩展…另外,请确保您使用的是VS15.7


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

bundleconfig.json已从2.1模板中删除,因为它依赖于Microsoft未创建或不支持的工具。看

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


ASP.NET核心团队已将bundleconfig替换为“libman”。右键单击项目-->添加-->客户端库并添加所需的软件包

我刚刚在ASP.NET Core MVC项目上安装了Bundler和Minifier。当我右键单击Bundler and Minifier>Bundle File时,它为我生成了一个
bundleconfig.json
,然后我可以在每次构建时将其设置为Bundle。将我的web应用发布到Azure会发送正确的缩小CSS和JS文件

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

请注意,这适用于net core 2.2,但不确定是否适用于2.1。另请注意,从net core 3开始,似乎应该(必须?)使用“本地工具”:

最后,我们成功地使用(编写时)推荐的
BundlerMinifier.Core
包配置了预构建绑定

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


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


尝试构建,您将有望在
输出中看到,根据您的
bundleConfig.json

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

选项1

从NuGet安装软件包,然后在构建项目时,将生成捆绑包

选项2

安装Visual Studio扩展

选项3

您可以使用任务运行程序(如Gulp、Grunt或Webpack)进行更高级的捆绑和缩小场景

您可以在ASP.NET Core中阅读My,它将教您以下内容:

  • 捆绑和缩小简介
  • ASP.NET核心中的捆绑和缩小策略
  • 使用bundleconfig.json文件配置捆绑包
  • 使用BuildBundlerMinizier包进行捆绑和缩小
  • 基于环境的捆绑和缩小
  • 使用Bundler和Minifier Visual Studio扩展

  • 在2021,请考虑我对类似问题的回答:


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

    我正在使用15.7.1。我确实通过手动添加文件使其工作,但我想知道为什么他们会删除它。我想知道是否有什么东西正在取代它。谢谢,我注意到BundlerMinifier需要安装Nuget软件包才能工作。上周我一直在和LibMan玩,我不知道它处理捆绑和小型化,文档和示例都很简单。另外,它没有为15.7进行最终剪切,您必须安装15.8预览版才能使用。我理解删除的逻辑,但由于LibMan是从15.7中删除的,因此与模板之间会有一个差距,因为.NETCore2.1将在15.8发布之前进行RTM。尽管我非常喜欢ASP.NET Core,但客户端包管理存在太多的变化和混乱。尽管Nuget有其局限性,但它在客户端sde库管理方面已经足够好了。我希望能在ASP.NET Core上做更多的努力,这样我们就不用再去想Bower、npm、glup、grunt、webpack和LibMan的组合是什么了。我不知道它是从VS15.7中删掉的。我一直在使用VS的预览版本,所以我认为它已经发布到稳定频道了。另外,是的,NuGet并没有很好地设计用于客户端库管理。我一直在aspnetcore中使用Thread和webpack,它对我的团队非常有效。问题是ASP.NET Core 2.1和VS 2017 15.8(预览版)的当前状态,我们没有内置的客户端包管理、捆绑或缩小。对于一个来自ASP.NETMVC5的开发人员来说,使用默认模板并实现JavaScript文件是静态的是令人失望的,而且研究客户端库管理会带来时间的浪费。同样,我知道NuGet客户端有局限性,但它对于具有少量库的应用程序来说已经足够好了,但我希望能够进行依赖关系管理和集中更新管理。谢谢!这实际上是我发现的唯一有效的解决方案。