在以前版本的Web Apps中,我可以通过向_hosts.cshtml文件添加代码来覆盖生产环境中的基本路径(而不是开发).见Different base paths depending on Development/Production environment.然而,在.NET 8中,Blazor Web App模板不再包含_hosts.cshtml文件.
如何仅在.NET8+Blazor Web App(服务器端)中覆盖生产环境的基本路径?
在以前版本的Web Apps中,我可以通过向_hosts.cshtml文件添加代码来覆盖生产环境中的基本路径(而不是开发).见Different base paths depending on Development/Production environment.然而,在.NET 8中,Blazor Web App模板不再包含_hosts.cshtml文件.
如何仅在.NET8+Blazor Web App(服务器端)中覆盖生产环境的基本路径?
看看这Migrate from ASP.NET Core 7.0 to 8.0: Convert a Blazor Server app into a Blazor Web App个doctor 吧.
尤其是第四点:
将
_Host
页(Pages/_Host.cshtml
)中的内容移动到空的App.razor
文件中.继续对App组件进行以下更改.
...
删除以下行:
- <environment include="Staging,Production">
- An error has occurred. This application may no longer respond until reloaded.
- </environment>
- <environment include="Development">
- An unhandled exception has occurred. See browser dev tools for details.
- </environment>
用以下内容替换前面的几行:
@if (Env.IsDevelopment())
{
<text>
An unhandled exception has occurred. See browser dev tools for details.
</text>
}
else
{
<text>
An error has occurred. This app may no longer respond until reloaded.
</text>
}
...
因此,在您的情况下,它可能如下所示:
@inject IHostEnvironment Env
@if (Env.IsDevelopment())
{
<base href="/SomePath/" />
}
else
{
<base href="/" />
}