Leo*_*oue 8 css blazor-server-side .net-6.0
我创建了一个新的 .NET 6 Blazor 服务器端项目并进行了一些更改。我有几个使用 CSS 隔离的文件(例如 Contact.razor + Contact.razor.css)。在 _Layout.cshtml 页面中,模板添加了以下内容:
<link href="CustomerPortal.styles.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
其中 CustomerPortal 是我的项目名称。我可以看到该文件在“CustomerPortal\CustomerPortal\obj\Debug\net6.0\scopedcss\projectbundle\CustomerPortal.bundle.scp.css”和“C:\Data\Git\WebApps\CustomerPortal\CustomerPortal\obj”下正确生成\Debug\net6.0\scopedcss\bundle\CustomerPortal.styles.css" 但是当我使用 Kernel 或 IIS Express 运行项目时,如果我尝试手动导航到 CSS,我会收到 404 未找到 CSS我也找不到。有任何想法吗?我的 csproj 没有任何会影响它的标志。
Ben*_*ica 10
编辑: 有一个新的扩展作为 .NET 7 中最小设置的一部分,并且也向后移植到较新版本的 .NET 6。
在 .NET 7 和 .NET 6 中,您现在都可以执行以下操作:
builder.WebHost.UseStaticWebAssets();
旧答案:
根据您想要采取的方法,您可以选择几个选项来解决此问题。我认为我们已经弄清楚了为什么会发生这种情况,但UseStaticWebAssets()似乎不支持新的最小启动代码。所以,这是我能立即想到的您的选择。
WebApplicationOptions给该CreateBuilder()方法,并根据环境在单独(且正确)的位置查找静态文件。请参阅此处的一些示例。builder,检查环境并使用StaticWebAssetsLoader加载静态 Web 资源。#3 的完整示例
if (builder.Environment.IsEnvironment("Local"))
{
StaticWebAssetsLoader.UseStaticWebAssets(builder.Environment, builder.Configuration);
}
Run Code Online (Sandbox Code Playgroud)
话虽这么说 - 我想他们最终会填补这个漏洞并为UseStaticWebAssets(). 您可以在这个开放的 GitHub 问题中查看这项工作的进展。
| 归档时间: |
|
| 查看次数: |
9812 次 |
| 最近记录: |