2013-07-09 50 views
3

我開始空項目,所以沒有@Styles.Render使用「使用System.Web.Optimization」佈局頁,我不得不從的NuGet包下載Web.Optimization創建BundleConfig.cs類App_Start文件夾。然後請避免在我的_Layout.cshtml中寫入@using System.Web.Optimization我在Views文件夾中的Web.config中添加了命名空間。如何避免

<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
     ... 
     <add namespace="System.Web.Optimization" /> 
     ... 
    </namespaces> 
</pages> 

但這不解決我的問題,我仍然需要編寫@using System.Web.Optimization。我做錯了什麼?

+0

爲什麼你需要編寫using語句?如果你不這樣怎麼辦?什麼時候出現錯誤,設計時間,運行時間或兩者兼而有之?你有沒有嘗試重新啓動Visual Studio? – CodeCaster

+0

你清理了你的解決方案,然後重建它?一旦你包含這個指令,你似乎應該有權訪問它。 –

+0

即使在重建之後,它也會給出'名稱樣式在當前上下文中不存在'。但重新啓動程序後,它工作:)謝謝各位 – biox

回答

4

正如你所描述的,唯一的辦法是添加在views文件夾你的web.config的以下部分的命名空間(或相應的父文件夾,如果你的觀點是在不同的區域):

<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.Routing" /> 
     ... 
    </namespaces> 
    </pages> 

只需添加以下行:

<add namespace="System.Web.Optimization" /> 

您需要重建解決方案使其生效。

根據ASP.NET和Visual Studio的版本(也有版本之間的一些不兼容),你可能還需要:

  • 關閉並重新打開佈局文件(.cshtml)。
  • 如果以前的項目不起作用,請重新啓動Visual Studio。
+1

不要忘了關閉並重新打開佈局。在將命名空間添加到web.config並刪除「@using」之後,我清理並重建瞭解決方案,但仍然看到錯誤,直到我想重新打開它。 ;) –

+0

@JamesWilkins:你的意思是關閉並重新打開cshtml就足夠了?相反,我有點激烈,重新打開VS。如果您確認重新啓用cshtml就夠了,我會在答案中加入它。 – Matthieu

+1

我只能說這就是我所做的,並且工作。我從來沒有關閉VS。事實上,我只是繼續編碼。 ;)也許說重新打開該文件,並且只有在失敗時才重新啓動VS。與其他人相比,一個設置可能會變得古怪;不會讓我感到驚訝。 ;) –