这是我的扩展方法:
公共(public)模块 HtmlExtensions
系统.运行时.编译器服务.扩展
公共(public)函数 ReverseMapPath(ByVal html As HtmlHelper, ByVal path As String) As String
昏暗的 appPath = HttpContext.Current.Server.MapPath("~")
Dim res As String = String.Format("{0}", path.Replace(appPath, "/").Replace("\", "/"))
返回分辨率
结束功能
结束模块
我的 web.config 有一个用于我的命名空间的条目
一切都工作得很好。我开始向项目添加更多代码,现在我收到一个错误,看起来好像我加载了两次扩展方法,但我不明白为什么。错误是:
path.page.vbhtml(9):错误 BC30521:重载解析失败,因为没有可访问的“FunctionName”对于这些参数来说是最具体的:
在“namespace.Extensions.HtmlExtensions”中定义的扩展方法“Public Function FunctionName(path As String) As String”:不是最具体的。
扩展方法“Public Function FunctionName((path As String) As String”在“namespace.Extensions.HtmlExtensions”中定义:不是最具体的。
我不明白为什么这会突然出现。显然我改变了一些东西,但撤消一切并没有帮助。该错误似乎更多地落后于.net框架。有什么想法吗?
最佳答案
我刚刚遇到了这个问题。如果您阅读 CrazyTim 评论的链接,问题来自于 VS 在项目中添加了对自身的引用。
如果您遇到此问题,VS 可能在您的项目中添加了对自身的引用。删除引用,你就会如雨后春笋般出现。
关于vb.net - MVC 扩展方法被加载两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015048/