相关疑难解决方法(0)

调试ASP.NET MVC应用程序时未更新CSS

我正在开发基于ASP.NET MVC的测试应用程序.我是CSS的新手,所以我也在学习.

我创建了一个名为"new.master"的母版页,并创建了一个新的CSS"new.css".我从控制器调用视图:

return View ("About", "new");
Run Code Online (Sandbox Code Playgroud)

我正在做的是我经常更新css和母版页.所以我经常在调试模式下运行应用程序.过了一段时间,我停止看到css变化的影响.当我在chrome中"查看源代码"并检查css时,它显示旧版本.

当我更改母版页和css的名称时,我开始收到更新的视图,但这有效,但我再次停止获取CSS更新.你遇到过这个问题吗?我该如何解决?(非常烦人!)

css asp.net-mvc master-pages

24
推荐指数
2
解决办法
2万
查看次数

热重载在 Visual Studio 2022 .Net 6 Razor 项目中不起作用

我们刚刚在解决方案中将除一个之外的所有 Web 应用程序项目从 .NET Core 3.1 项目升级到 .NET 6。这些是使用 Razor 的 ASP.NET Core 3.1 项目。以下是我们在热重载方面看到的结果:

  1. .NET 6 项目热重载似乎不起作用。热重载已启用,但我们的前端从未更新。刷新页面似乎也没有显示更新。
  2. ASP.NET Core 3.1 项目热重载正在按预期工作。

当我们在 VS 2019 中运行这些项目时,我们可以刷新任何项目中的页面,我们将看到更新。我们是否缺少一些设置?

razor asp.net-core hot-reload .net-6.0 visual-studio-2022

17
推荐指数
2
解决办法
2万
查看次数

在应用程序重新启动之前,CSHTML 视图不会更新

我正在使用 browserlink 来编辑 CSS 样式,效果非常好。不幸的是,如果我更改 .cshtml 文件中的某些内容,我的浏览器会在保存时自动刷新,但更改不可见。

如果我关闭应用程序并再次打开,更改就会可见。看起来我的应用程序正在某处缓存视图,而不是将我所做的更改重新加载到我的文件中。

这确实不是浏览器缓存问题。应用程序确实发送未更改的 html 结果。

如何在开发中禁用此类缓存功能?

我正在使用最新的 ASP NET Core MVC 库。

编辑:如果我更改 _layout 中的任何内容,网站就会更新,没有任何问题。

编辑2:启动功能

        public void ConfigureServices(IServiceCollection services)
    {
        services.AddWebSocketManager();

        var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
        var path = System.AppDomain.CurrentDomain.BaseDirectory;

        var machineName = Environment.MachineName;
        var confBuilder = new ConfigurationBuilder();
        IConfigurationBuilder conf = confBuilder.SetBasePath(path);

        if (env == "Development")
        {
            conf = conf.AddJsonFile($"appsettings.json", optional: true, reloadOnChange: true);
            conf = conf.AddJsonFile($"appsettings.Development.json", optional: true, reloadOnChange: true);
            conf = conf.AddJsonFile($"appsettings.{machineName}.json", optional: true, reloadOnChange: true);
            conf = conf.AddJsonFile($"appsettings.External.json", optional: true, …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc asp.net-core

3
推荐指数
1
解决办法
1424
查看次数

如何在 Rider 中启用视图热重载?

我正在使用 Rider 编写一个 MVC 应用程序,一个行为困扰着我:当我修改视图时,我必须重建解决方案并重新启动它以查看更改。当我从浏览器重新加载站点时,是否可以直接看到修改后的视图?

顺便说一句,IDE(或 dotnet?)不认为视图更改是触发重建的更改。我必须手动单击“重建选定的项目”,然后才能启动应用程序的修改版本。这是为什么?

asp.net-mvc .net-core asp.net-core rider

3
推荐指数
1
解决办法
4267
查看次数

在 Razor (chtml) 中渲染动态视图,如何在 asp.net core 3.0 中将 FileProvider 添加到 razor?

我正在从 asp-net core 2.2 迁移到 asp-net core 3.0,我使用这个块来定义我的文件类提供程序,如你所知,它用于创建动态剃刀视图(动态 cshtml),我的问题是该段确实不行。

我已经实现了经典:

services.Configure<RazorViewEngineOptions>(opts =>
                opts.FileProviders.Add( 
                    new MyCostumizedFileProvider()
                )
            );
Run Code Online (Sandbox Code Playgroud)

在哪里:

  1. MyCostumizedFileProvider:是文件提供程序的实现。

  2. RazorViewEngineOptions:是在 aspnet core 2.0 中使用的 Razor 运行时编译器的处理程序。

在asp-net核心中我已经检查过

例如:

services.Configure<MvcRazorRuntimeCompilationOptions>(options => {
    options.FileProviders.Clear();
    options.FileProviders.Add(new MyCostumizedFileProvider());
});
Run Code Online (Sandbox Code Playgroud)

或者

  services.Configure<MvcRazorRuntimeCompilationOptions>(options => {
   options.FileProviders.Add(new MyCostumizedFileProvider());
  });
Run Code Online (Sandbox Code Playgroud)

错误总是:

/Pages/Shared/ViewListPerson_1b2b2019-aad9-4096-a3b7-ece5dfe586c1.cshtml
   at Microsoft.AspNetCore.Mvc.ViewEngines.ViewEngineResult.EnsureSuccessful(IEnumerable`1 originalLocations)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
   at Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, …
Run Code Online (Sandbox Code Playgroud)

c# razor fileprovider asp.net-core-3.0

2
推荐指数
1
解决办法
1999
查看次数