Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Style bundling not working after IIS deployment (MVC 4)

I'm having troubles with my style sheets bundling after deployment to IIS. I've created a simple solution to demonstrate my problem.

I've created a simple test project (VS 2012, MVC 4) with a single controller and a view containing an "Hello World" string.

I've created a (test) CSS under the content folder with simple simple color changing

Content\helloWorldCss\helloWorldStyle.css

Then, I've edited my BundleConfig.cs class and added the path to my CSS as a new bundle:

            bundles.Add(new StyleBundle("~/Content/helloWorldCss").Include("~/Content/helloWorldCss/helloWorldStyle.css"));

Then, I've added the new bundle to my the _Layout.cshtml:

@Styles.Render("~/Content/helloWorldCss")

When I run my application via VS (or Page inspector) my CSS is being applied successfully and everything seems to be OK. However, when I publish/deploy my project to IIS (through VS), I can view my HTML but my CSS is not being applied. The following file exists after deployment:

Content\helloWorldCss\helloWorldStyle.css

What really puzzles me is that when I alter my _Layout.cshtml and add a "regular" ref to the same CSS instead of using the bundle ref, the CSS is applied after publishing without any issues.

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

I will appreciate any help and advice on this.

like image 289
Omri Avatar asked Sep 22 '13 17:09

Omri


2 Answers

I think you've got a name collision here. ASP.NET MVC will create a file on http://example.org/Content/helloWorldCss after minification and you already have a folder with the same path. Can you try it again after renaming your bundle?

BundleConfig.cs:

bundles.Add(new StyleBundle("~/Content/helloWorld").Include("~/Content/helloWorldCss/helloWorldStyle.css"));

_Layout.cshtml:

@Styles.Render("~/Content/helloWorld")
like image 132
Ufuk Hacıoğulları Avatar answered Oct 15 '22 01:10

Ufuk Hacıoğulları


This is what i do. IIS Config>Authentication>RightClickOn Anonymous Auth>Click Edit> Check Application pool identity

IIS Config>Authentication>RightClickOn Anonymous Auth>Click Edit> Check Application pool identity

like image 20
shiroxx Avatar answered Oct 15 '22 02:10

shiroxx