mac*_*ase 6 asp.net asp.net-mvc bundle asp.net-optimization
我正在关注一个示例,并且在为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) ||
(context.GetOverriddenUserAgent().StartsWith("Blackberry", StringComparison.OrdinalIgnoreCase))
)
))
});
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Tablet")
{
ContextCondition = (context => (
(context.GetOverriddenUserAgent() != null) &&
(
(context.GetOverriddenUserAgent().IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0) ||
(context.GetOverriddenUserAgent().IndexOf("Playbook", StringComparison.OrdinalIgnoreCase) >= 0) ||
(context.GetOverriddenUserAgent().IndexOf("Transformer", StringComparison.OrdinalIgnoreCase) >= 0) ||
(context.GetOverriddenUserAgent().IndexOf("Xoom", StringComparison.OrdinalIgnoreCase) >= 0)
)
))
});
IBundleTransform jsTransformer;
IBundleTransform cssTransformer;
#if DEBUG
jsTransformer = new NoTransform("text/javascript");
cssTransformer = new NoTransform("text/css");
#else
jsTransformer = new JsMinify();
cssTransformer = new CssMinify();
#endif
var
DesktopJSBundle = new Bundle("~/Scripts/DesktopJS", jsTransformer);
DesktopJSBundle.Include("~/Scripts/jquery-1.6.4. js");
DesktopJSBundle.Include("~/Scripts/jquery-ui-1.8.11. js");
DesktopJSBundle.Include("~/Scripts/jquery.unobtrusive-ajax.js");
DesktopJSBundle.Include("~/Scripts/jquery.validate.js");
DesktopJSBundle.Include("~/Scripts/jquery.validate.unobtrusive.js");
BundleTable.Bundles.Add(DesktopJSBundle);
var DesktopCSSBundle = new Bundle("~/Content/DesktopCSS", cssTransformer);
DesktopCSSBundle.Include("~/Content/Site.css");
BundleTable.Bundles.Add(DesktopCSSBundle);
var MobileJSBundle = new Bundle("~/Scripts/MobileJS", jsTransformer);
MobileJSBundle.Include("~/Scripts/jquery-1.6.4.js");
MobileJSBundle.Include("~/Scripts/jquery.mobile-1.1.0.js");
BundleTable.Bundles.Add(MobileJSBundle);
var MobileCSSBundle = new Bundle("~/Content/MobileCSS", cssTransformer);
MobileCSSBundle.Include("~/Content/jquery.mobile-1.1.0.css");
MobileCSSBundle.Include("~/Content/jquery.mobile.structure-1.1.0.css");
BundleTable.Bundles.Add(MobileCSSBundle);
//BundleTable.Bundles.RegisterTemplateBundles();
BundleTable.Bundles.EnableDefaultBundles();
}
//BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Run Code Online (Sandbox Code Playgroud)
该NoTransform级不再需要为公众,因为在RC开始,一个空Transform的类Bundle隐含意思NoTransform.
之前:
new Bundle("~/yourbundle", new NoTransform())
Run Code Online (Sandbox Code Playgroud)
现在:
new Bundle("~/yourbundle")
Run Code Online (Sandbox Code Playgroud)
我们觉得不需要虚拟实例更清洁.我们将其保持在内部,因为它有一点点逻辑可能会导致一些麻烦,因为Transform负责设置响应的contentType.默认逻辑使用捆绑包中第一个文件的文件扩展名(.js/.css).
此外,通过添加Script/Styles Render助手,您不再需要根据debug = true | false动态切换不同的变换.帮助者应该为您照顾.
不能直接回答这个问题,只是指出任何遇到这种情况的人......也可以通过配置完成,(参见/sf/answers/882381601/)
<system.web>
<compilation debug="true" />
<!-- Lines removed for clarity. -->
</system.web>
Run Code Online (Sandbox Code Playgroud)
和NoTransform其他方法Scripts,如Styles.. 是 MVC 4 beta 和 MVC 4 RC 版本中提供的捆绑和缩小的新功能。我希望您没有使用正确版本的 ASP.NET MVC,因此您会收到编译错误。
http://blog.kurtschindler.net/post/disabling-bundling-and-minification-in-aspnet-45mvc-4
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |