Asp.net mvc 找不到blazor.server.js文件

Asp.net mvc 找不到blazor.server.js文件,asp.net-mvc,blazor,asp.net-core-3.0,Asp.net Mvc,Blazor,Asp.net Core 3.0,我创建了一个新的ASP.NET Core 3.0 Web应用程序,并选择了模型视图控制器选项。我想添加Blazor服务器端,所以我在Startup.cs文件中添加了以下内容 services.AddServerSideBlazor(); endpoints.MapBlazorHub(); 并添加了脚本文件 <script src="_framework/blazor.server.js"></script> 在我的布局文件中 我创建了一个简单的组件,显示我在文本

我创建了一个新的ASP.NET Core 3.0 Web应用程序,并选择了模型视图控制器选项。我想添加Blazor服务器端,所以我在Startup.cs文件中添加了以下内容

services.AddServerSideBlazor(); 
endpoints.MapBlazorHub();
并添加了脚本文件

<script src="_framework/blazor.server.js"></script>

在我的布局文件中

我创建了一个简单的组件,显示我在文本框中输入的内容,并将该组件添加到我的
Index.cshtml
视图中。它在VisualStudio中工作,但当我将其推送到内部2016服务器时,会呈现组件,但不会显示文本。应用程序似乎找不到
blazor.server.js
文件


推送JS文件时是否缺少其他部署步骤

最后我找到了答案,我不得不在“\u Layout.cshtml”的标题部分添加


.

由于
blazor.server.js
是一个静态文件,请确保添加
app.UseStaticFiles()
startup.cs中

在我的例子中

app.UseStaticFiles(新的StaticFileOptions
{
ServeUnknownFileTypes=true,
DefaultContentType=“应用程序/八位字节流”
});
是什么导致了这个问题。替换为:

app.UseStaticFiles();
解决了这个问题。我想问题可能出在
DefaultContentType

任何人都知道为什么会这样,请更新此答案。

在Startup.Configure(Startup.cs)中使用两个调用UseStaticFiles:

使用StaticFileOptions在第一次调用中配置自定义文件提供程序。 第二个中间件服务于blazor.server.js,它使用blazor框架提供的默认静态文件配置。 C#


汤姆,你的回答给了我正确的方向。Blazor会调整静态文件设置,如果您使用自己的StaticFileOptions覆盖这些设置,它将破坏Blazor。您可以通过再次调用UseStaticFiles来修复此问题。这将在将来的版本中修复。看见
using Microsoft.AspNetCore.StaticFiles;

...

var provider = new FileExtensionContentTypeProvider();
provider.Mappings["{EXTENSION}"] = "{CONTENT TYPE}";

app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = provider });
app.UseStaticFiles();