我的MVC 4应用程序在我的本地计算机上运行正常.
但是,我发布后CSS文件不起作用(不影响网站的布局).
我可以看到CSS文件在服务器上.
当我查看源代码时,我可以看到
<link href="/Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)
在我的本地计算机上,源代码显示为
<link href="/Content/css/myFile.css" rel="stylesheet"/>
<link href="/Content/css/myFile02.css" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)
所以,在服务器的源代码视图中,我点击了 Content/css?v=fxCdHAOgPDvcROxkMfEwGQggO9uCfzckN3PaN8BOIzI1,浏览器将我带到403 - 禁止访问:访问被拒绝.
我正在使用BunldeConfig.cs类添加CSS文件
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
"~/Scripts/1.9.1.js",
"~/Scripts/jTools.js",
"~/Scripts/script.js"
));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/Css/website.css",
"~/Content/Css/banner.css",
"~/Content/Css/reusable.css",
"~/Content/Css/lists.css",
"~/Content/Css/tooltip.css",
"~/Content/Css/overlay.css"
));
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,假设这不是服务器的IT问题(直到最近一直工作正常)我的代码有问题吗?
当我将调试版本发布到Azure时...我的所有样式文件都可以访问.
当我将我的发布版本发布到Azure上时......我的风格fies都无法访问.
You do not have permission to view this directory or page.
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我有这样的包:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/Packages/Bootstrap/src/bootstrap.css",
"~/Content/CSS/site.css",
"~/Content/CSS/bootstrap-theme-conflicts.css" ) );
Run Code Online (Sandbox Code Playgroud)
在我的剃刀视图中,我有这个:
@Styles.Render( "~/Content/css" )
Run Code Online (Sandbox Code Playgroud)
我的内容文件夹结构是:

已发布的申请中的最终网址是:
azurewebsites.net/Content/css/?v=i2nuaUMdmGVopZ-yRx75EKwl3vXByH5xgX4-uk0R9oE1
Run Code Online (Sandbox Code Playgroud)
如果我直接去文件...即:
azurewebsites.net/Content/CSS/Site.css
Run Code Online (Sandbox Code Playgroud)
他们很好.
有用的资源:
我刚刚在我的网站主机上部署了一个MVC4 .NET 4.0应用程序,用于"实时"部署测试.非区域路线工作正常,例如我的
@Html.ActionLink("Register as a Client", "Register", "Account", new { registrationType = "Client"}, null)
Run Code Online (Sandbox Code Playgroud)
链接工作正常,链接打开正确的页面.但是,通过指向基于区域的操作的链接,如下所示:
@Html.ActionLink("Authors", "Index", "Home", new { Area = "Author", registrationType = "Author" }, null)
Run Code Online (Sandbox Code Playgroud)
实际呈现给浏览器的链接缺少动作和控制器,即
http://mylivedomain.com/?Area=Author®istrationType=Author
Run Code Online (Sandbox Code Playgroud)
值得注意的是,MVC4的css捆绑功能在部署后无法正常工作,我回过头来使用经典样式链接到各个样式表.
可能相关:我的问题:为什么我的MVC4应用程序中未经修改的模板代码尝试两次注册区域?
JUST IN:从区域路由映射中删除默认路由的默认操作解决了这个问题.在VS2012模板代码中没有默认控制器.
asp.net-mvc asp.net-mvc-routing asp.net-mvc-areas asp.net-mvc-4
我是这个概念的新手,这是我的第一个实现(捆绑和缩小)优化概念的项目
我只是想用简单的js和css测试
Test.aspx
<html>
<%@ import namespace="System.Web.Optimization" %>
<html>
<head runat="server">
<%: Scripts.Render("~/bundles/js") %>
<%: Styles.Render("~/bundles/css") %>
</head>
<body>
<form id="form1" runat="server">
<div>
<button id="tests">
testing</button>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Global.Asax看起来像这样
protected void Application_Start(object sender, EventArgs e)
{
RegisterBundles(BundleTable.Bundles);
}
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/js").Include(
"~/script/jquery-1.8.2.min.js",
"~/script/s.js"));
bundles.Add(new StyleBundle("~/bundles/css").Include(
"~/css/master.css"));
BundleTable.EnableOptimizations = true;
}
Run Code Online (Sandbox Code Playgroud)
该文件是捆绑在一起的,但是在CSS中,我有某种样式可以在网页中呈现,因此没有任何显示,
样本也类似于jquery文件
有关此帖子的更多信息,请检查此。. 单击此处
你能指导我实现这一目标吗?
部署到服务器后,我的项目中出现错误(未显示 CSS),它在本地运行良好。我发现了类似的问题并尝试了所有问题,但仍然无法解决。
我试过的:
ASP.NET MVC Bundle 未在登台服务器上呈现脚本文件。它适用于开发服务器
ASP.NET MVC 框架 4.5 CSS 包在托管上不起作用
为什么我的 CSS 捆绑不适用于 bin 部署的 MVC4 应用程序?
错误:
CSS 在服务器中显示如下
<link href="/PMTEST/bundles/font-awesome/css?v=iW7LN24NnEoW62YKSq4wmEVP62Z-QPaYj8Wc4pAfkQA1" rel="stylesheet">
<link href="/PMTEST/bundles/animate/css?v=TS_TayB91ibtNEIEuFyRTY4MKruiSouKnZGvXM9wZzc1" rel="stylesheet">
<link href="/PMTEST/bundles/bootstrap/css?v=fGVgsGSw8MzJqPS1QdcxeRW2yrw4tez5BLZBchwK_HE1" rel="stylesheet">
<link href="/PMTEST/bundles/icon?v=Xt7dqD5fI6gBI3RBoPWSt1nfcmgT1f4bGcYcuT_dBno1" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中捆绑配置
bundles.Add(new StyleBundle("~/bundles/font-awesome/css").Include(
"~/Vendor/fontawesome/css/font-awesome.min.css", new CssRewriteUrlTransform()));
Run Code Online (Sandbox Code Playgroud)
在我的布局页面中,我使用了 Bundle 之类的
@Styles.Render("~/bundles/font-awesome/css")
Run Code Online (Sandbox Code Playgroud) 我正在使用BundleConfig将我的css和javascript文件捆绑在mvc 4.0项目中.刚开始使用它,但不知怎的,我的捆绑的css文件从服务器获得404状态.想知道是什么问题.
这是我的设置;
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/CSSJSBundles/3rdpartycss").Include(
"~/Scripts/jquery.jnotify.css"
Run Code Online (Sandbox Code Playgroud)
)); }
BundleTable.EnableOptimizations = true;
}
Run Code Online (Sandbox Code Playgroud)
我在我的根目录中创建了该文件夹:'CSSJSBundles'.我需要吗?或者只是虚拟文件夹mvc使用?我还需要在Global.aspx中设置任何设置吗?
我也删除了该文件夹,该捆绑的css文件仍有404错误.
javascript c# asp.net asp.net-mvc-4 bundling-and-minification