IIS部署后样式捆绑不起作用(MVC 4)
部署到IIS后,我的样式表捆绑问题很麻烦。 我已经创建了一个简单的解决方案来演示我的问题。
我创建了一个简单的测试项目(VS 2012,MVC 4),它包含一个控制器和一个包含“Hello World”字符串的视图。
我在内容文件夹下创建了一个(测试)CSS,简单的颜色变化
Content\helloWorldCss\helloWorldStyle.css
然后,我编辑了我的BundleConfig.cs类,并将我的CSS路径添加为新的bundle:
bundles.Add(new StyleBundle("~/Content/helloWorldCss").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
然后,我已将新包添加到_Layout.cshtml中 :
@Styles.Render("~/Content/helloWorldCss")
当我通过VS(或Page inspector)运行我的应用程序时,我的CSS成功应用,一切似乎都没问题。 但是, 当我将项目发布/部署到IIS(通过VS)时,我可以查看我的HTML,但我的CSS没有被应用 。 部署后存在以下文件:
Content\helloWorldCss\helloWorldStyle.css
让我感到困惑的是,当我改变我的_Layout.cshtml并将“常规”引用添加到相同的CSS而不是使用bundle ref时,CSS在发布后应用而没有任何问题。
*
我将非常感谢您的帮助和建议。
我想你这里有名字碰撞。 ASP.NET MVC将在缩小后在http://example.org/Content/helloWorldCss上创建一个文件,并且您已经拥有一个具有相同路径的文件夹。 你重命名你的捆绑后可以再试一次吗?
BundleConfig.cs:
bundles.Add(new StyleBundle("~/Content/helloWorld").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
_Layout.cshtml:
@Styles.Render("~/Content/helloWorld")
这就是我做的。 IIS配置>身份validation> RightClickOn匿名身份validation>单击“编辑”>“检查应用程序池身份”
当您使用VS发布到测试服务器时,它使用defaultAppPool。 要使样式和SimpleMembership工作,您需要:
-
在服务器上安装ASP.NET 4.0。 cmd – cd C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \输入aspnet_regiis.exe -ir
-
在IIS中添加ASP.NET 4.0应用程序池。
-
将您的站点设置为使用ASP.NET 4.0作为应用程序池。
-
在SQL Server中添加ASP.NET 4.0安全登录并为其赋予dbcreate角色。
- 无法从Azure网站访问Azure数据库服务器
- 如何在将C#字符串传递给javascript时优雅地转义单引号和双引号
- 自定义模型Binderinheritance自DefaultModelBinder
- 带有html属性的html.BeginForm asp.net mvc4
- 重新连接到asp.net MVC4应用程序中的Servicestack会话
- asp.net mvc父子视图,父视图更新子项
- 如何将查询字符串参数转换为asp.net mvc 4中的路由
- 使用Ninject将通用接口绑定到存储库时,获取“MissingMethodException:无法创建接口实例”
- Asp.Net Routing – 显示完整的URL