Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Blazor在部署到IIS后未提供wwwroot中的静态文件_Asp.net Core_Iis_Blazor_Blazor Webassembly_Asp.net5 - Fatal编程技术网

Asp.net core Blazor在部署到IIS后未提供wwwroot中的静态文件

Asp.net core Blazor在部署到IIS后未提供wwwroot中的静态文件,asp.net-core,iis,blazor,blazor-webassembly,asp.net5,Asp.net Core,Iis,Blazor,Blazor Webassembly,Asp.net5,我正在开发一个.NET5.0BlazorWASM应用程序。当我使用iisexpress运行应用程序表单visualstudio并导航到https://localhost:5001/docs/simple.pdf,该文件在浏览器中提供 但是,在将blazor wasm应用程序部署到IIS后,同样的方法不起作用。我没有收到任何错误,而是加载了我的未找到路线模板屏幕 这是屏幕打印: blazor wasm应用程序的wwwroot IISExpress加载文档: IIS虚拟目录路径: IIS未加载

我正在开发一个
.NET5.0BlazorWASM
应用程序。当我使用
iisexpress运行应用程序表单visualstudio并导航到
https://localhost:5001/docs/simple.pdf
,该文件在浏览器中提供

但是,在将blazor wasm应用程序部署到
IIS
后,同样的方法不起作用。我没有收到任何错误,而是加载了我的
未找到
路线模板屏幕

这是屏幕打印:

blazor wasm应用程序的wwwroot

IISExpress
加载文档:

IIS虚拟目录
路径:

IIS
未加载文档并显示
NotFound
路由模板:


我还注意到,
wwwroot
中的所有文件都不能在
IIS
的浏览器中直接访问。请协助解决我所缺少的问题。

Blazor WebAssembly不参与提供您的文件


这是要在IIS中配置的内容。

我能够重现您的问题。以下是我认为您可以修复它的方法

导航到解决方案中的服务器项目

打开文件Startup.cs。导航到Configure方法并添加以下代码行:

    app.UseStaticFiles();
发布项目并重新复制到IIS


在默认的VisualStudio模板中,此代码将存在。但这取决于您创建解决方案的方式,您可能错过了。

那么您如何配置IIS?请您帮助我们在IIS中进行哪些配置?您从哪里运行Blazor WASM SPA?您如何运行localhost:44353?我将Blazor WASM发布到IIS虚拟目录,该目录映射到localhost:44353,并从browserI访问该目录。我倾向于同意这一点回答。我刚刚在我的IIS上发布了一个小Blazor WASM,我可以轻松地导航到wwwroot中的资源。所以我认为OP问题与Blazor无关。当您配置IIS时,您是否选择了端口44353?检查IIS配置中的端口以确保。如果没有显式设置,则默认为端口80I显式选择端口44353。https版本将在默认端口80上运行?好的,我也尝试了44353,效果很好。要检查的另一件事是:确保您的服务器项目中Startup.cs的Configure()方法中有app.UseStaticFiles()。这是blazor wasm到IIS的独立部署
app.UseStaticFiles()
在此不可用。您是否已检查控制台中是否存在相关错误消息?我在您发布的图像中未找到NotFound错误消息。或者您可以尝试使用失败的请求跟踪来获取详细的错误消息。
app.UseStaticFiles()
将在blazor wasm项目模板中提供?如果它是ASP.NET托管的应用程序,则将有客户端和服务器端项目。我误解了这只是一个客户端项目。