发布网站不会更新我的CSS包

gar*_*thb 11 .net css c# publishing visual-studio-2013

当我在发布模式下从Visual Studio运行我的代码,并检查捆绑的样式表时,我可以看到我对该包中的css文件的更新.但是,当我将网站发布到服务器或本地计算机时,样式表中的更改尚未通过.捆绑的样式表仍然是旧样式表.

我尝试过IIS重置,干净的构建/重建,从IIS文件夹中删除所有文件并重新发布.

如果这有任何不同,我使用的是LESS.

我的包配置:

bundles.Add(new StyleBundle("~/bundles/requiredStyles").Include(
    "~/Content/Style/Libs/bootstrap.min.css",
    "~/Content/Style/Libs/font-awesome.min.css",
    "~/Content/Style/Globals/application.css",
    "/Content/Style/Libs/muliDropdown.css",
    "~/Content/Style/Libs/smoothDivScroll.min.css",
    "~/Content/Style/Libs/jasny-bootstrap.min.css"
));
Run Code Online (Sandbox Code Playgroud)

我正在访问http://www.mywebsite.com/bundles/requiredStyles来查看捆绑的CSS

所以我在application.css上做了一个更改,如果我在visual studio中播放(在发布模式下),这很好,但是当我发布到我的本地IIS时,我的更改不再存在.

小智 40

如果您在与未分类文件相同的目录中具有缩小版本的css文件,则会发生这种情况.

例如,如果您有以下文件:


    ~/Content/bootstrap.css
    ~/Content/bootstrap.min.css

在您的目录中,并在捆绑包中注册"bootstrap.css"文件,优化器将首先尝试在发布期间使用"bootstrap.min.css"文件.如果您只更新了"bootstrap.css"文件并且没有更新"bootstrap.min.css"文件,那么您将从"bootstrap.min.css"获取旧样式.您可以通过删除"bootstrap.min.css"文件或更新它来解决此问题.

在调试版本中不会发生这种情况,因为如果使用以下内容将编译设置为debug,则不会提取缩小的文件:

<system.web>
    <compilation debug="true" />
    <!-- Lines removed for clarity. -->
</system.web>
Run Code Online (Sandbox Code Playgroud)

您还可以通过以下方式禁用优化来覆盖web.config设置:


    BundleTable.EnableOptimizations = false;

这将包含在BundleConfig.cs文件中.