2014-02-08 12 views
1

我将使用Visual Studio 2010开发的遗留网站项目升级到Visual Studio 2013中的Web应用程序项目。现在我想添加一些MVC组件到这个应用程序,包括捆绑和缩小。但App_Start文件夹丢失。是否有任何需要安装的NuGet软件包会创建App_Start文件夹并添加“捆绑和缩小”功能?我们如何添加捆绑和缩小到从Visual Studio 2010项目升级的项目

例如,这个项目也缺少'Content'文件夹,但是当我通过NuGet包管理器安装了jQuery UI 1.10.4包时,它创建了Content文件夹并添加了jQuery UI css文件。

+0

你可以自己创建一个App_Start文件夹,并将其添加到项目中,如果这是你需要的。不过,我怀疑捆绑/缩小更多。这是我不喜欢大型,沉重的IDE的一件事;他们阻止你知道发生了什么。 – jpmc26

+0

我想知道一个标准过程,它会自动创建App_Start文件夹,并安装和配置至少捆绑/缩小的初始功能,以便在需要时将CSS/js文件添加/删除到捆绑包。我假设VS2013会有一些功能来实现这一点,但还没有找到。 – nam

+0

@nam除了我的回答外,我还会补充说明:App_Start文件夹没有特别之处。我想他们只是为了组织目的在MVC项目中引入它。如果您查看“特殊”[Web项目文件夹](http://msdn.microsoft.com/zh-cn/library/ex526337.aspx),它不包含App_Start。 – MikeSmithDev

回答

2

步骤1:安装捆绑和缩小(通过GUI)。 Tools > Library Package Manager > Manage NuGet Packages For Solution。在线搜索“捆绑”,第一个结果应该是Microsoft ASP.NET Web Optimization Framework。安装它。

第2步:用鼠标右键单击您的Web项目并添加新文件夹并将其称为App_Start

第3步:App_Start中添加一个新类,名为BundleConfig.cs。它看起来是这样的:

using System.Web.Optimization; 

public class BundleConfig 
{ 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js")); 
    } 
} 

第4步:在ApplicationStart负载在Global.asax中:

void Application_Start(object sender, EventArgs e) 
{ 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
} 

第5步:添加到母版页的页脚。我通常是这样的:

 <%: System.Web.Optimization.Scripts.Render("~/bundles/jquery") %> 
     <asp:ContentPlaceHolder ID="MyScripts" runat="server"></asp:ContentPlaceHolder> 
    </body> 
</html> 

这样,jQuery的负载</body>标签附近,你可以把所有内嵌脚本在ContentPlaceHolder主脚本引用之后呈现。

+0

您不必加载页脚......但最好是这样做。如果这是一个遗留项目,包含一系列内联jQuery,如果jQuery ref位于页脚中,那么您仍然可以执行此操作,并将所有内容移动到新的ContentPlaceHolder中。花时间是的,但从长远来看,这是更好的。如果您在用户控件中遇到脚本问题,我将展示如何在[此SO帖子]中移动它们(http://stackoverflow.com/a/19256630/1810243)。 – MikeSmithDev

相关问题