.net core 如何为托管在.NET Core中的Blazor应用程序设置路径
我正试图通过.net core 如何为托管在.NET Core中的Blazor应用程序设置路径,.net-core,hosting,blazor,fileprovider,.net Core,Hosting,Blazor,Fileprovider,我正试图通过.NET Core Web服务器托管一个Blazor应用程序。我正在使用FileProvider。我不知道为什么一直出现此错误: blazor.webassembly.js:1 WASM:WASM流式编译失败: TypeError:未能对“WebAssembly”执行“compile”:HTTP状态 代码不正常WASM:返回ArrayBuffer实例化失败 加载资源:服务器响应状态为404(未加载) 找到)blazor.webassembly.js:1 WASM:的异步和同步抓取 w
.NET Core Web服务器
托管一个Blazor
应用程序。我正在使用FileProvider
。我不知道为什么一直出现此错误:
blazor.webassembly.js:1 WASM:WASM流式编译失败:
TypeError:未能对“WebAssembly”执行“compile”: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断言=1以获取更多信息。d、 printErr@blazor.webassembly.js:1 blazor.webassembly.js:1 WASM:abort(“异步和同步获取
wasm失败了”)。有关详细信息,请使用-s断言=1构建。
js:1 WASM:abort(“异步和同步获取
wasm失败了”)。有关详细信息,请使用-s断言=1构建。
d、 printErr@blazor.webassembly.js:1 localhost/:1 Uncaught(在
承诺)中止(“中止”(\)wasm的异步和同步抓取
失败\“)。有关详细信息,请使用-s断言=1进行生成。“)。使用-s构建
断言=1以获取更多信息:5000/favicon.ico:1未能加载
资源:服务器响应状态为404(未找到)
.NET核心主机启动
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,
});
}
}
公共类启动
{
public void配置服务(IServiceCollection服务)
{
}
公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
IFileProvider provider=新的物理文件提供程序(@“D:/blazor/BenchUI/dist/”);
DefaultFileOptions=new DefaultFileOptions
{
RequestPath=“”,
FileProvider=provider,
DefaultFileNames=新列表{“index browser.html”}
};
app.UseDefaultFiles(选项);
app.UseStaticFiles();
app.UseStaticFiles(新的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的
在该文件夹之外。我的根目录可能是错误的吗?我不明白出了什么问题,因为唯一的错误似乎出现在blazor.webassembly.js
中,这是一个添加在index.html
中的脚本
我不知道在哪里运行dotnet[what dll name].dll
?我是否需要发布Client
项目以及在其中运行dotnet Client.dll
,还是需要发布Client
服务器
和共享
。
到目前为止,我已经试过使用dotnet[client name of dll].dll
甚至“dotnet run”(在csproj位置)你试过dotnet新blazorhosted
模板吗?我试过在项目的client.dll
上使用dotnet run
,但没有成功,因此,我为dist
文件夹创建了此主机项目,但仍然无法工作。您可以发布主机项目,发布输出将正常工作,并且您不必为我使用的dotnet publish-c发行版[主机项目路径]创建另一个主机项目
我在该文件夹上使用了dotnet Client.dll
,但它不起作用。您需要dotnet运行宿主项目的Main
类所在的dll。