.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。