2013-04-30 52 views
1

我正在模塊化的asp.net mvc4項目中工作。一些視圖位於類庫項目中。我已經設置了web.config以在剃刀視圖中啓用智能。 @model,@Html。 *等都運作良好。但是,當我嘗試通過使用@ Scripts.Render()在我的視圖中引用js文件時。它說無法找到「腳本」。我檢查了web.config文件。 System.Web.Optimization位於//節點中。我還安裝了Nuget的Microsoft.AspNet.Web.Optimization包。System.Web.Optimization不能在類庫項目的剃鬚刀視圖文件中使用

我試圖在.cs文件中鍵入代碼以使用System.Web.Optimization成員,它的工作原理。但是我不能在.cshtml文件中做同樣的事情。即使當我輸入@using System.Web.Optimization,它也會提示我無法找到優化。

我不知道我能做些什麼來解決這個問題。任何線索都非常讚賞。

回答

3

如果在類庫的根Web.config文件,確認包含以下內容:<add namespace="System.Web.Optimization"/>

如果不這樣做,招的Visual Studio以爲它是一個Web項目,並啓用智能感知和

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <system.web> 
    <compilation targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
</configuration> 
:通過添加 web.config文件到您的類庫項目(包含剃刀意見之一)具有以下內容( taken from this blog post)的根本解決您的問題

以上是什麼工作對我來說,當我面對這個問題,但這裏有更多的聯繫:

http://forums.asp.net/t/1812274.aspx/1

Getting System.Web.Optimization to work in a razor view within a class library