相关疑难解决方法(0)

ASP.NET MVC 4 app捆绑和缩小,为什么在调试模式下启用缩小?

我刚刚将ASP.NET MVC 3项目迁移到MVC 4/.NET 4.0,并安装了NuGet包Microsoft.AspNet.Web.Optimization以支持CSS和JavaScript的捆绑和缩小.我几乎有捆绑/缩小工作,问题是它始终启用.即使应用程序处于调试模式(如在Web.config中配置),所有JavaScript包含都会缩小.从下面的XML代码段中可以看到,在Web.config中启用了调试模式:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    ...
  </compilation>
  ...
</system.web>
Run Code Online (Sandbox Code Playgroud)

我的捆绑配置的摘录:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        ...

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-1.*",
                    "~/Scripts/jquery.form.js",
                    "~/Scripts/jquery.format.js"));

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

        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

CSS/JavaScript包含在HTML中呈现,例如:

<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么在我的情况下启用缩小?我不知道我在这里失踪了什么.要解决我创建了一个测试ASP.NET MVC 4的互联网应用,并可以验证CSS/JavaScript的并没有在调试模式下获得精缩为这个项目.

编辑:

在我的_Layout.cshtml文件中,我像这样渲染样式/脚本:

@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")
Run Code Online (Sandbox Code Playgroud)

感谢Hao,我意识到我忘了用"〜/"作为包名称的前缀.

asp.net-mvc-4 bundling-and-minification asp.net-optimization

19
推荐指数
1
解决办法
1万
查看次数

MVC4 Beta缩小和捆绑:在浏览器中订购文件和调试

我已经开始使用MVC4 Beta中包含的捆绑和缩小功能.我遇到了一些问题:

首先,如果我使用经典<script src="Folder/js" type="text/javascript"/>捆绑,似乎我必须重命名我的文件,以确保它们以正确的顺序捆绑.

  • 假设我有三个javascript文件:"ants.js","bugs.js","insect.js"
  • ants.js取决于bugs.js
  • bugs.js取决于insect.js
  • 默认捆绑似乎按字母顺序捆绑它们.
  • 为了让它们正确捆绑,我必须将它们重命名为:"0.insects.js","1.bugs.js","2.ants.js"
  • 这真的是hackish,必须有一个更清洁的方式.

我遇到的下一个问题是调试.我喜欢在我的测试浏览器中单步执行javascript,有没有办法在DEBUG模式下关闭缩小?

编辑:要清楚,我知道我可以创建捆绑包并从C#注册它们,只是看起来真的很丑陋.

javascript bundle minify asp.net-mvc-4 asp.net-optimization

14
推荐指数
2
解决办法
4760
查看次数

尝试创建新的Bundle时,NoTransform无效

我正在关注一个示例,并且在为MVC项目创建自定义包时无法使"NoTransform"工作.这是我的代码无法编译,因为"NoTransform"产生一个错误,上面写着"错误1无法找到类型或命名空间名称'NoTransform'(你是否缺少using指令或程序集引用?)" .有什么想法吗?

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.WebPages;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace CoyleAzure
{


    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);


            // Added to Add DisplayModes


            DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Phone")
            {
                ContextCondition = (context => (
                (context.GetOverriddenUserAgent() != null) &&
                (
                (context.GetOverriddenUserAgent().IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) ||
                (context.GetOverriddenUserAgent().IndexOf("iPod", StringComparison.OrdinalIgnoreCase) >= 0) ||
                    (context.GetOverriddenUserAgent().IndexOf("Droid", StringComparison.OrdinalIgnoreCase) >= 0) ||
                        (context.GetOverriddenUserAgent().IndexOf("Blackberry", StringComparison.OrdinalIgnoreCase) >= 0) …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc bundle asp.net-optimization

6
推荐指数
3
解决办法
5054
查看次数