当ASPNETCORE“环境更改为除”以外的任何内容时;“发展”Blazor应用程序没有';在VS中调试时,无法查看razor类库中的资源

当ASPNETCORE“环境更改为除”以外的任何内容时;“发展”Blazor应用程序没有';在VS中调试时,无法查看razor类库中的资源,blazor,blazor-server-side,Blazor,Blazor Server Side,也许可以试试这个例子: 这是一个演示Blazor应用程序(默认)。 我创建了两个自定义应用程序配置文件:开发和生产。 只要在VisualStudio中按F5键,就可以调试这两者 然后我创建了一个虚拟Razor组件库,并将其命名为RCL。 我把它作为主项目的依赖项。 在我的虚拟RCL中,在wwwroot目录中,我添加了extra.css文件。 该文件的作用是将背景颜色更改为浅绿色。 如果发生,则表示文件已加载。如果背景保持灰色/白色,则不会加载 下面是加载CSS的\u Host.cshtml片段

也许可以试试这个例子:

这是一个演示Blazor应用程序(默认)。 我创建了两个自定义应用程序配置文件:开发和生产。 只要在VisualStudio中按F5键,就可以调试这两者

然后我创建了一个虚拟Razor组件库,并将其命名为RCL。 我把它作为主项目的依赖项。 在我的虚拟RCL中,在
wwwroot
目录中,我添加了
extra.css
文件。 该文件的作用是将背景颜色更改为浅绿色。 如果发生,则表示文件已加载。如果背景保持灰色/白色,则不会加载

下面是加载CSS的
\u Host.cshtml
片段:


试着运行它。它起作用了。但有一个条件:
ASPNETCORE\u环境
环境变量必须设置为“Development”

如果测试
Production
配置文件(或将环境变量更改为“Production”),然后运行应用程序,则不会加载
extra.css
文件

背景没有变为绿色,所以有点不对劲。 为什么会这样?它是VisualStudio中的一个bug吗

如果您想知道为什么我需要设置这个环境变量:它允许加载额外的

appsettings.[ASPNETCORE\u环境].json

文件。因此,我可以为我的应用程序提供不同的配置。我需要用不同的配置测试我的应用程序。现在我只能在VisualStudio中使用“开发”配置调试它。当我将配置更改为其他配置时,我无法运行我的应用程序,因为它无法从库中加载组件所需的JavaScript文件

因此,预期的行为是:无论我在“ASPNETCORE_环境”中放入什么,来自RCL的文件都应该始终加载。为什么不呢

实际行为:使用不同的配置(配置文件)会中断Razor组件库加载。

找到了它。实际上有人提到过

您需要在webhost中启用静态web资产:

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder => {
                webBuilder.UseStaticWebAssets(); // <----
                webBuilder.UseStartup<Startup>();
            });
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>{
webBuilder.UseStaticWebAssets();//找到了它。实际上已经提到了它

您需要在webhost中启用静态web资产:

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder => {
                webBuilder.UseStaticWebAssets(); // <----
                webBuilder.UseStartup<Startup>();
            });
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>{

webBuilder.UseStaticWebAssets();//这是一个有趣的错误。我对另一个开源项目也做了同样的错误,在env未开发时没有加载css和js。很好的发现。我稍后将尝试复制它。您可能需要报告它(其中一个或两个)在和/或.reproducted上。我试图从Kestrel切换到IIS,但没有区别。所以它在中间件路由管理器中。这是一个有趣的错误。我对另一个开源项目也做了同样的操作,在env未开发时css和js没有加载。很好的发现。我稍后将尝试复制它。您可能需要报告它在和/或上复制。我尝试从Kestrel切换到IIS,但没有区别。因此它位于中间件路由管理器中。