捆绑包对我来说是新的,但在我的_layout.cshtml文件中,我有以下内容:
@Styles.Render("~/Content/css")
在App_Start \ BundleConfig.cs文件中,我有以下内容:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css",
"~/Content/Portal.css"));
当我通过从Visual Studio启动它来查看localhost上的站点时,会插入所有样式,如下所示:
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<link href="/Content/Portal.css" rel="stylesheet"/>
但是,当我部署到测试服务器时,标记中不包含portal6.css文件,实际上甚至没有复制到我的Publish目录中。我手动将该CSS文件复制到Content文件夹,但看起来捆绑包没有引用它。
有人知道这是什么问题吗?
答案 0 :(得分:0)
...实际上甚至没有复制到我的Publish目录中。我手动将该CSS文件复制到Content文件夹...
听起来只是在项目文件属性中将项目文件的Build Action
标记为Content
的情况 - 否则,它不会像您注意到的那样“发布”。
查看portal.css
属性:
Build Action
是否设置为Content
(可能已将<{1}}设置为“手动复制”)<登记/> 注意:假设文件“包含在项目中”(不仅仅是在文件系统中) - 因此它应该在VS的项目视图中可见(没有启用“查看所有文件”切换)。
... H个
答案 1 :(得分:0)
检查#1
在Visual Studio中,右键单击该文件,验证“ BUILD ACTION = CONTENT”。 CONTENT =包含到部署软件包文件中。这是最常见的问题,因为它设置为NONE。
检查#2
如果正确设置了以上内容,则可能发生的下一件事是,在独立于解决方案构建项目时,构建不会看到此属性。这就是发生在我身上的事情。由于某些原因,构建配置不会更新可能在GUI外部添加到项目中的文件上的新属性集。
Visual Studio
1)执行“清洁解决方案”或在“构建”下进行清洁 2)现在“生成”或执行“发布”,该文件现在将成为部署包文件夹的一部分。
奖金注意:最后,还要注意,如果您的web.config设置debug = false,该捆绑包将建立默认文件名“ file.css”。如果debug = true,则指示分发包查找“ file.min.css”版本,并将获取缩小的文件版本。因此,如果CSS文件内容不同或包含与原始css文件不匹配的css类,这也可能导致意外结果。