不知道,如果这是发生在公关或testing版,但如果我在HtmlHelper创build一个扩展方法,它不会在剃刀供电页面识别: namespace SomeNamespace.Extensions { public static class HtmlExtensions { public static string Foo(this HtmlHelper html) { return "Foo"; } } } 我将它添加到Web.config的<Namespaces>部分: <pages> <namespaces> <add namespace="System.Web.Mvc" /> <!– snip –> <add namespace="SomeNamespace.Extensions"/> </namespaces> </pages> 但是当试图查看页面时会引发编译错误: @Html.Foo() 如果我用WebForms重新创build页面,它工作正常。 这是怎么回事? 解决方法 如果我在我的Razor视图中包含@using SomeNamespace.Extensions ,那么它可以工作,但是我宁愿将它放在Web.config