You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET应用无法提供Blazor WebAssembly所需的wwwroot下.dll文件

解决方案

1. 配置.dll文件的MIME类型

Blazor WebAssembly的.dll文件需要指定正确的MIME类型才能被浏览器加载,默认ASP.NET Core可能未配置该类型。修改Startup.cs中UseStaticFiles的配置:

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = new FileExtensionContentTypeProvider
    {
        Mappings = { [".dll"] = "application/octet-stream" }
    }
});

2. 全局启用CORS策略

当前CORS仅在开发环境生效,若生产环境请求来自跨域地址,会导致资源加载失败。将UseCors移到环境判断外部,确保所有环境生效:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors("CorsPolicy"); // 移至此处,全局生效

    app.UseDefaultFiles()
        .UseStaticFiles(/* 上述MIME配置 */)
        .UseRouting()
        .UseEndpoints(endpoints =>
        {
            endpoints.MapHub<MessageHub>("/chat");
        });
}

3. 完善Docker文件复制逻辑

确保UI的wwwroot目录完整复制到API目录,修改Docker中的cp命令,避免覆盖目录结构问题:

RUN cp -rpf /app/UI/out/wwwroot/* /app/API/out/wwwroot/

4. 验证内容根目录配置

确认应用能正确定位到wwwroot,可在Startup构造函数中输出路径验证:

public Startup(IWebHostEnvironment env)
{
    _env = env;
    Console.WriteLine($"Content Root: {env.ContentRootPath}");
    Console.WriteLine($"Web Root: {env.WebRootPath}");
    // 其余配置代码...
}

内容的提问来源于stack exchange,提问作者Node.JS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:35:39