簡體   English   中英

CS0234:System.Web命名空間中不存在Mvc

[英]CS0234: Mvc does not exist in the System.Web namespace

我根據專業ASP.NET 3.5 MVC的第13章,由Scott Hanselmen,Phil Haack和Rob Conery將一個ASP.net 4 webform項目轉換為Asp.net MVC4,由Wiley Publishing,Inc。出版(ISBN:978-) 0-470-38461-9)。 我也關注了這個博客 現在我可以添加控制器,視圖等。所有引用都設置正確。 沒有構建錯誤。 但是在啟動轉換后的項目時,我遇到了編譯錯誤。 我在同一台機器上安裝了mvc3。 我甚至改變了對它的引用。 它仍然抱怨。 你能幫忙嗎? 謝謝。

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

Source Error:

Line 109:            <namespaces>
Line 110:                <add namespace="System.Web.Helpers"/>
Line 111:                <add namespace="System.Web.Mvc"/>
Line 112:                <add namespace="System.Web.Mvc.Ajax"/>
Line 113:                <add namespace="System.Web.Mvc.Html"/> 

Source File: c:\Users\Jon\Documents\Visual Studio 2012\Projects\CMT\Apps\Branches\3.0\Web.config    Line: 111 

我有同樣的問題,我解決了它:

1.右鍵單擊解決方案,然后單擊'Clean Solution'

2.單擊解決方案資源管理器中的'References'文件夾並選擇問題參考(在您的情況下看起來似乎是System.Web.Mvc),然后右鍵單擊並單擊'Properties'

3.在屬性窗口中,確保'Copy Local'屬性設置為'True'

這對我有用。 希望它適用於其他人

有用的注意 :正如@Vlad在評論中提到的那樣:

如果已設置為True:

  1. 設置為False
  2. 再次設置為True
  3. 重建

將Web應用程序部署到服務器時可能會發生此問題,因此您必須檢查是否已安裝MVC3。

檢查文件夾C:\\Program Files\\Microsoft ASP.NET\\ASP.NET MVC 3存在。

如果它不存在,則需要從http://www.microsoft.com/en-us/download/details.aspx?id=1491安裝它


如果您不想安裝,您可以在bin文件夾中本地添加所有DLL並添加對它們的引用,如果您在服務器上托管不要部署ASP.NET網頁或MVC3,這可以正常工作。

檢查web.config中的運行時標記,並驗證是否有類似的聲明:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
.....
</runtime>

我嘗試了所有這些答案,甚至關閉了Visual Studio並刪除了所有bin目錄。

再次啟動后,MVC參考似乎上面有一個黃色感嘆號,所以我將其刪除並再次添加。

現在它工作,沒有本地副本。

以前的答案都不適合我。

我注意到我的項目使用.NET Framework中的System.Web.Mvc引用引用了另一個項目。

我剛剛刪除了該程序集並添加了“ Microsoft.AspNet.Mvc ”NuGet包,這解決了我的問題。

添加Microsoft.AspNet.Mvc nuget包。

您需要在項目中包含對程序集System.Web.Mvc的引用。

您可能沒有C:\\ Program Files(x86)\\ Reference Assemblies \\ Microsoft \\ Framework.NETFramework \\ v4.0中的System.Web.Mvc

所以你需要添加它然后將它包含在你的projrect的引用中

我遇到了這個問題,但IIS中的所有應用程序在以前工作時都被破壞了。 所有標記的解決方案都沒有幫助我。 問題最終是web.config的額外副本已被引入我的根目錄。 我刪除了該文件,問題解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM