学无先后达者为师!
不忘初心,砥砺前行。

解决 Abp 报错: Could not find the bundle file from Area IWebContentFileProvider

在使用 Abp 开发 Web 网站时,我们可以借助其虚拟文件系统通过 abp-script 或者 abp-style 标签将 Pages 或 Views 目录下默认不允许访问的 JavaScript 、Style Sheet 等文件引入到页面中。

当我们要开发一个多 Area 的 MVC 网站时,即便通过以下代码设置好了复制资源文件到输出目录,却依然会得到一个 Abp 框架的报错。

<ItemGroup>
	<None Update="Areas\**\*.js">
		<CopyToOutputDirectory>Always</CopyToOutputDirectory>
	</None>
	<None Update="Areas\**\*.css">
		<CopyToOutputDirectory>Always</CopyToOutputDirectory>
	</None>		
</ItemGroup>

报错内容为:

Volo.Abp.AbpException: Could not find the bundle file '/Areas/Payment/Views/Home/Index.js' from IWebContentFileProvider
   at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpTagHelperResourceService.ProcessAsync(ViewContext viewContext, TagHelperContext context, TagHelperOutput output, List`1 bundleItems, String bundleName)
   at Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers.AbpBundleTagHelperService`2.ProcessAsync(TagHelperContext context, TagHelperOutput output)
   at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.<RunAsync>g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count)

这是因为以上功能通过一个名为 AbpAspNetCoreContentOptions 的选项控制,将下列代码添加至 Web 项目模块的 ConfigureServices 方法中即可解决该问题。

Configure<AbpAspNetCoreContentOptions>(options =>
{
	options.AllowedExtraWebContentFolders.Add("/Areas");
});
赞(1) 打赏
未经允许不得转载:码农很忙 » 解决 Abp 报错: Could not find the bundle file from Area IWebContentFileProvider

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册