IIS部署后样式捆绑不起作用(MVC 4)

Omr*_*mri 15 css c# iis asp.net-mvc-4

部署到IIS后,我的样式表捆绑问题很麻烦.我已经创建了一个简单的解决方案来演示我的问题.

我创建了一个简单的测试项目(VS 2012,MVC 4),其中包含一个控制器和一个包含"Hello World"字符串的视图.

我在内容文件夹下创建了一个(测试)CSS,简单的颜色变化

Content\helloWorldCss\helloWorldStyle.css
Run Code Online (Sandbox Code Playgroud)

然后,我编辑了我的BundleConfig.cs类,并将我的CSS路径添加为新的bundle:

            bundles.Add(new StyleBundle("~/Content/helloWorldCss").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
Run Code Online (Sandbox Code Playgroud)

然后,我已将新包添加到_Layout.cshtml中:

@Styles.Render("~/Content/helloWorldCss")
Run Code Online (Sandbox Code Playgroud)

当我通过VS(或Page inspector)运行我的应用程序时,我的CSS成功应用,一切似乎都没问题.但是,当我将项目发布/部署到IIS(通过VS)时,我可以查看我的HTML,但我的CSS没有被应用.部署后存在以下文件:

Content\helloWorldCss\helloWorldStyle.css
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是,当我改变我的_Layout.cshtml并将"常规"引用添加到相同的CSS而不是使用bundle ref时,CSS在发布后应用而没有任何问题.

<link href="@Url.Content("~/Content/helloWorldCss/helloWorldStyle.css")" rel="stylesheet" type="text/css" />*
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助和建议.

Ufu*_*arı 13

我觉得你这里有名字碰撞.ASP.NET MVC将在缩小后在http://example.org/Content/helloWorldCss上创建一个文件,并且您已经拥有一个具有相同路径的文件夹.重命名捆绑后可以再试一次吗?

BundleConfig.cs:

bundles.Add(new StyleBundle("~/Content/helloWorld").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
Run Code Online (Sandbox Code Playgroud)

_Layout.cshtml:

@Styles.Render("~/Content/helloWorld")
Run Code Online (Sandbox Code Playgroud)


小智 7

这就是我做的.IIS配置>身份验证> RightClickOn匿名身份验证>单击"编辑">"检查应用程序池身份"

IIS配置>身份验证> RightClickOn匿名身份验证>单击"检查应用程序池身份"">