類型“System.Web.IHtmlString”在未引用的程序集中定義
現在有點失落…
我正在關注以下文章來測試/學習嵌套佈局。 http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx
我收到以下錯誤:
The type 'System.Web.IHtmlString' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. D:\Projects\Mvc3\Tests\RazorLayouts\Layout.MvcBase\Extensions\SectionExtensions.cs 15 36 Layout.MvcBase我引用了名稱空間 System.Web…,藍線位於“RenderSection”上。公共靜態 HelperResult RenderSection
我剛遇到這個問題。您可能還需要添加對“ System.Web ”的引用。那為我修好了。請記住,不僅僅是“使用”語句,而是實際上添加了對它的引用。我在為我的控制器設置測試項目時遇到了這個問題。
檢查所有內容是否使用相同版本的框架(例如,您沒有引用 System.Web 的 3.5),以及您是否安裝了任何 beta 版本,這些版本可能略有不同。
如果您不能這樣做,您能否提供一個項目的 zip 文件(請務必刪除任何敏感資訊,例如 API 密鑰、連接字元串等)以供我們查看?
**編輯:**只是一個想法-您說您引用了命名空間System.Web。這與程序集System.Web 不同。您可以在沒有程序集的情況下導入命名空間,因為其他程序集(例如 System.Web.Mvc)中的類可以包含命名空間。確保在您的程序集引用文件夾中可以看到“System.Web”。