Blazorwasm with net5.0 ( hosted ) throws 404 and Fallback {*path:nonfile} after publish on release mode

Viewed 582

I have a problem when trying to deploy a fresh new blazorwasm with net5. Here the steps that I've been following. Create a new project.

dotnet new blazorwasm -f net5.0 --hosted --auth none

Navigate to the server directory and publish:

dotnet publish -c Release

Then launch the server:

dotnet /project/Server/bin/Release/net5.0/publish/project.Server.dll

Then I can see the server running but when I try to access the url https://localhost:5001 I got a 404. So I wanted to know if I'm doing something wrong or there is a problem with this blazorwasm template.

enter image description here

Environment information:

dotnet --info
.NET SDK (reflecting any global.json):
 Version:   5.0.101
 Commit:    d05174dc5a

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.15
 OS Platform: Darwin
 RID:         osx.10.15-x64
 Base Path:   /usr/local/share/dotnet/sdk/5.0.101/

Host (useful for support):
  Version: 5.0.1
  Commit:  b02e13abab

.NET SDKs installed:
  1.0.0-preview2-003156 [/usr/local/share/dotnet/sdk]
  1.0.0-preview2-1-003177 [/usr/local/share/dotnet/sdk]
  1.0.1 [/usr/local/share/dotnet/sdk]
  2.0.0 [/usr/local/share/dotnet/sdk]
  3.0.100 [/usr/local/share/dotnet/sdk]
  3.1.302 [/usr/local/share/dotnet/sdk]
  3.1.401 [/usr/local/share/dotnet/sdk]
  3.1.404 [/usr/local/share/dotnet/sdk]
  5.0.100 [/usr/local/share/dotnet/sdk]
  5.0.101 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.10 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.21 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.23 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.10 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
1 Answers

Have a look to the "content root" when you run the command: dotnet /project/Server/bin/Release/net5.0/publish/project.Server.dll

The content root is where you run your command and it's the root of your site.

in your case you run from the project path, which is not the actual content root, and so expect 404 error.

if you moved to the publish folder:

cd D:\blazor\StackOverFlow\So1\Server\bin\Release\net5.0\publish

then run the command:

dotnet run project.Server.dll

now, the content root path is /project/Server/bin/Release/net5.0/publish

The solution:

run the next batch:

cd /project/Server/bin/Release/net5.0/publish
::launch firefox/chrom
start "" "https://localhost:5001"
dotnet project.Server.dll

The Home page is displayed properly and no 404 error.

Related