CSS MVC 应用程序的更改不起作用

CSS changes on MVC App not working

我使用 VS Express for web 创建了一个 MVC 应用程序。它只会使用 VS Express 附带的默认内置 CSS 文件。
示例:如果我从 VS 本地修改 bootstrap.css 文件(更改超大屏幕颜色)和 运行,则更改很明显,但是当我进行 Web 部署时,这些更改的 none 很明显。我还注意到,当我将 web.config 文件修改为 Debug=false 时,我所做的 CSS 更改在我 运行 从 VS 本地(和网络部署)时并不明显。

CSS 仍在应用,但我所做的任何更改都不会应用。该站点显示旧的默认超大屏幕颜色。如果我在 web.config 中更改 debug=true,那么超大屏幕会显示我更新后的颜色。当我网络部署我的站点 none 的 CSS 更改被应用时,它仍然使用默认的 CSS 文件,我什至在服务器上检查了 bootstrap.css 它显示了更新jumbotron 颜色,但 jumbotron 仍然是网络上的默认颜色?超级混乱。

我读了很多书,尝试将以下内容添加到我的 web.config:

<remove name="BundleModule" />
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />

但这并不能解决问题。我尝试从我的文件名中删除 .css,这解决了当我使用 debug=false 从 VS 在本地 运行 它时的问题,但是当我发布网站时,该网站没有显示 CSS 样式根本。这不是缓存问题。这与捆绑和 debug=false 有关,但我不知道是什么。我对 web/MVC 开发还是很陌生。我已经用 NuGet 更新了我的 web.optimization 和 microsoft.aspnet 等。

我真的很难解决这个问题,如果有人提出建议并且有效,我将非常高兴! Stack Overflow 上有很多关于此的帖子,但 none 的建议对我有用。

这是我的 bundle.config.cs:

using System.Web;
using System.Web.Optimization;

namespace HFHYYC
{
        public class BundleConfig
        {

        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"));

            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/site.css"));
        }
    }
}

这可能是由于捆绑框架在 local/debug 模式下使用 bootstrap.css,而在部署时使用 bootstrap.min.css。该框架在确定将哪些文件添加到捆绑包时使用一组约定,其中之一是使用文件的 .min 版本(如果存在)用于发布构建。这可能就是困扰你的原因。您在 bootstrap.css 中进行了更改,但未在 bootstrap.min.css 中进行更改。

尝试删除 bootstrap.min.css 并重新部署。这应该会强制框架缩小并使用您修改的 bootstrap.css 文件。

这个问题让我抓狂,直到我读到某人关于缓存浏览器数据的评论!在 FireFox 中,我使用 ctrl-r 重新加载页面,一切都按预期进行了。长话短说,在检查已发布的样式更改之前始终清除缓存。

就我的 Azure 网站而言,我进入门户网站并停止并重新启动服务,这似乎强制为用户刷新样式。

我认为问题出在 bootstrap 版本上。 Bootswatch 使用 bootstrap 4,但 asp.net 中的默认 bootstrap 文件使用 bootstrap 版本 3,因此 class 名称未正确匹配,因此样式不匹配apply.i 下载了 bootstrap 版本 3 主题,它对我有用

我做了上面的 none 并且在发布 Asp.net 项目时也遇到了同样的问题,对我有用的方法很简单,只需右键单击 css.file 然后单击关于包含在项目中并发布对我有用。