我在MVC3 Razor视图中有一个EditorFor HTML帮助器,如下所示:
@Html.EditorFor(x => x.RouteOfReferral,
MVC.Shared.Views.EditorTemplates.TabValidationMessage,
new {
ValidationPropertyName = ogt.PropertyName(
x => x.RouteOfReferral)
}
)
在实体上,我将属性的类型从一种参考数据类型更改为另一种,更新了viewmodel以反映这一点,运行了所有测试并全部通过。
但是,当我通过用户界面访问该页面时,我遇到了这个例外:
System.MissingMethodException
Method not found:'MyProject.Entities.ReferenceData.Entity.RouteOfReferral
MyProject.Entities.ReferenceData.Entity.get_RouteOfReferral()'.
奇怪的是,我注释掉了HTML助手,刷新了页面,并像往常一样打开了。然后,我再次注释了HTML帮助程序,并再次打开页面,从那时起就很好了。
问题是,现在我已经部署到集成测试平台,发生了同样的问题。
有什么想法吗?
答案 0 :(得分:2)
我很惊讶这4年没有得到答案。我自己也遇到了同样的问题,这是谷歌的最佳答案。
幸运的是,我有答案 - 清除你的临时ASP.net文件。
你可以使用这个单行的PowerShell:
Get-ChildItem “C:\Windows\Microsoft.NET\Framework*\v*\Temporary ASP.NET Files” -Recurse | Remove-Item -Recurse
或详细列出的任何方法here。
请记住,在具有64位应用程序的64位系统上,临时文件将位于C:\WINDOWS\Microsoft.NET\Framework64\...
文件夹而不是C:\WINDOWS\Microsoft.NET\Framework\...
文件夹中。