样式表和脚本包在 Mono 中不起作用
Stylesheets and scripts bundles not working in Mono
背景: 我正在迁移一个 ASP.NET
MVC 5
应用程序(在 Windows 8.1, VS2013
社区开发,.NET 4.5.1
,MySql
自定义成员资格和角色提供者)项目到 Monodevelop
(在 Ubuntu 14.4
、Monodevelop
、Mono
)。
在我的~/App_Start/BundleConfig
class
public static void RegisterBundles(BundleCollection bundles)
{
BundleTable.EnableOptimizations = true;
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
}
在我的 ~/Views/Shared/_Layout.cshtml
视图中
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
在我的Web.Config
<add namespace="System.Web.Optimization" />
还有
<compilation defaultLanguage="C#" debug="false"> </compilation>
同时Microsoft.Web.Infrastructure.dll
从bin目录中删除
问题: 当我在浏览器中查看源代码时,我没有看到包正在呈现:
链接指向目录,应该显示目录中的文件
<link href="/Content/css" rel="stylesheet"/>
<script src="/bundles/modernizr"></script>
此捆绑在 Windows 上运行良好,但在 Ubuntu 上我只看到目录
我做错了什么?
在您的 BundleConfig 文件中添加以下内容:
BundleTable.EnableOptimizations = true;
然后切换到释放模式。
这应该可以解决问题
我今天刚遇到这个问题。 Mihai-Tibrea 的回答确实有效,但它导致了我无法接受的要求。
如果始终启用捆绑(BundleTable.EnableOptimizations = true;and/or 在发布模式下构建)是不可接受的,请考虑以下事项:
在BundleConfig.cs中找到这样一行:
"~/Content/site.css"
将其更改为
"~/Content/Site.css"
请注意,在单声道中,文件名的大小写非常重要,而在 windows 中则不重要。因此,您的 html 需要使用小写字母 site.css 或者您的包需要以大写字母开头。
背景: 我正在迁移一个 ASP.NET
MVC 5
应用程序(在 Windows 8.1, VS2013
社区开发,.NET 4.5.1
,MySql
自定义成员资格和角色提供者)项目到 Monodevelop
(在 Ubuntu 14.4
、Monodevelop
、Mono
)。
在我的~/App_Start/BundleConfig
class
public static void RegisterBundles(BundleCollection bundles)
{
BundleTable.EnableOptimizations = true;
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
}
在我的 ~/Views/Shared/_Layout.cshtml
视图中
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
在我的Web.Config
<add namespace="System.Web.Optimization" />
还有
<compilation defaultLanguage="C#" debug="false"> </compilation>
同时Microsoft.Web.Infrastructure.dll
从bin目录中删除
问题: 当我在浏览器中查看源代码时,我没有看到包正在呈现:
链接指向目录,应该显示目录中的文件
<link href="/Content/css" rel="stylesheet"/>
<script src="/bundles/modernizr"></script>
此捆绑在 Windows 上运行良好,但在 Ubuntu 上我只看到目录
我做错了什么?
在您的 BundleConfig 文件中添加以下内容:
BundleTable.EnableOptimizations = true;
然后切换到释放模式。
这应该可以解决问题
我今天刚遇到这个问题。 Mihai-Tibrea 的回答确实有效,但它导致了我无法接受的要求。
如果始终启用捆绑(BundleTable.EnableOptimizations = true;and/or 在发布模式下构建)是不可接受的,请考虑以下事项:
在BundleConfig.cs中找到这样一行:
"~/Content/site.css"
将其更改为
"~/Content/Site.css"
请注意,在单声道中,文件名的大小写非常重要,而在 windows 中则不重要。因此,您的 html 需要使用小写字母 site.css 或者您的包需要以大写字母开头。