当我创建一个面向2.1 RC1的新ASP.NET MVC Core时,它不会创建用于捆绑和缩小的bundleconfig.json文件。如果我的目标是2.0,则会创建此文件。
以下是一个示例,该解决方案包含一个针对2.0的新项目和另一个针对2.1的项目:
是否有东西取代了内置捆绑和缩小,或者这只是RC1中的一个错误?
答案 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,它将教您以下内容: