我正在尝试通过Blazor
来托管.NET Core Web Server
应用。我正在使用FileProvider
。我不知道为什么我会不断收到此错误:
blazor.webassembly.js:1 WASM:wasm流式编译失败: TypeError:无法在“ WebAssembly”上执行“编译”:HTTP状态 代码不正确WASM:退回到ArrayBuffer实例化失败 加载资源:服务器响应状态为404(不是 找到)blazor.webassembly.js:1 WASM:异步和同步获取 wasm失败blazor.webassembly.js:1 WASM:异步和同步 提取wasm失败d.printErr @ blazor.webassembly.js:1 blazor.webassembly.js:1 WASM:无法异步准备wasm: 中止(“异步和同步提取wasm均失败”)。建立 -s ASSERTIONS = 1了解更多信息。 d.printErr @ blazor.webassembly.js:1 blazor.webassembly.js:1 WASM:abort(“异步和同步获取 wasm失败”)。使用-s ASSERTIONS = 1构建以获取更多信息。 blazor.webassembly.js:1 WASM:abort(“异步和同步获取 wasm失败”)。使用-s ASSERTIONS = 1构建以获取更多信息。 d.printErr @ blazor.webassembly.js:1 localhost /:1未捕获(在 promise)abort(“ abort(\”异步和同步获取wasm 失败\“)。使用-s ASSERTIONS = 1构建以获取更多信息。”)。用-s构建 ASSERTIONS = 1了解更多信息。 :5000 / favicon.ico:1加载失败 资源:服务器响应状态为404(未找到)
.NET Core主机启动
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
IFileProvider provider = new PhysicalFileProvider(@"D:/blazor/BenchUI/dist/");
DefaultFilesOptions options = new DefaultFilesOptions
{
RequestPath = "",
FileProvider = provider,
DefaultFileNames = new List<string> { "index-browser.html" }
};
app.UseDefaultFiles(options);
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions()
{
RequestPath = "",
FileProvider = provider,
});
}
}
HTML根
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width">
<title>BenchUI</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
<link href="css/site.css" rel="stylesheet" />
</head>
<body>
<app>Loading...</app>
<script src="_framework/blazor.webassembly.js"></script>
<script src="Utilities.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>
文件夹结构
我已将文件提供者的根目录设置为dist
,但是.NET Dll's
在该文件夹之外。我的根目录可能出错吗?我不明白哪里出了问题,因为唯一的错误似乎出在blazor.webassembly.js
内,script
是一个index.html
。
我不知道在何处运行dotnet [what dll name].dll
?我是否需要发布Client
项目以及其中的运行dotnet Client.dll
,还是需要发布Client
Server
和Shared
。
到目前为止,我已经尝试过dotnet [client name of dll].dll
甚至`dotnet run(在csproj位置)