我有一个用MVC2和VB.NET编写的项目。我使用了很多htmlhelper扩展方法,并且我将它们全部放在公共模块中。他们工作得很好,我可以编译和运行我的项目。我引用它们与这个命名空间:MVC2扩展方法在我的视图中抛出错误
所以,再一次,他们的工作很好,我的项目运行和顺利编译。
的问题是,这些扩展方法每一个显示为错误:
Error 33 'TabbedMenu' is not a member of 'System.Web.Mvc.HtmlHelper(Of Object)'. C:\Projects\MyProject\MyProject.WebUI\Views\Shared\Site.Master 23 21 MyProject.WebUI
这并不阻止编译和运行项目,它只是创建了一个错误,这是烦人。我尝试过寻找解决方案,但是我发现的所有解决方案都是针对不编译的项目,所有这些解决方案都使用简单的解决方案,如引用正确的名称空间或确保将模块声明为公共。有什么想法吗?
首先,如果我没有导入命名空间,那么项目就不会像我说的那样运行(参见上面的注释)。其次,这是在VB.NET中。扩展方法必须位于自动定义共享方法的模块中。 再一次,网站的工作原理和扩展方法一样。他们只是在编译之前抛出错误......尽管他们最终编译了。 – user961794
也许如果你发布了Extensions类的例子和一种不能深入了解潜在问题的方法?从你所说的话来看,它似乎应该起作用。 – dreza
它正在工作,完美,这就是我想告诉你的。它只是在编译之前标记错误。编译后,这个错误显然不存在,因为扩展方法编译并运行得很好。问题是我想清理列出的错误,而不是我需要我的项目工作。 – user961794