2014-02-08 13 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

相關問題