2

我的 MVC3 Razor 视图中有一个 EditorFor HTML 助手,如下所示:

@Html.EditorFor(x => x.RouteOfReferral,
                MVC.Shared.Views.EditorTemplates.TabValidationMessage, 
                new { 
                      ValidationPropertyName = ogt.PropertyName(
                         x => x.RouteOfReferral) 
                    }
               )

在实体上,我将属性的类型从一种引用数据类型更改为另一种,更新了视图模型以反映这一点,运行了所有测试并全部通过。

但是,当我通过 UI 访问该页面时,我得到了这个异常:

System.MissingMethodException
Method not found:'MyProject.Entities.ReferenceData.Entity.RouteOfReferral 
MyProject.Entities.ReferenceData.Entity.get_RouteOfReferral()'.

奇怪的是,我注释掉了 HTML 助手,刷新了页面,它照常打开。然后我取消了 HTML 帮助程序的注释,页面再次像往常一样打开,从那时起就很好了。

问题是,现在我已经部署到集成测试平台了,同样的问题也出现了。

有任何想法吗?

4

1 回答 1

5

我很惊讶这在 4 年内没有得到答案。我自己也遇到了同样的问题,这是谷歌上的最佳答案。

幸运的是,我有答案 - 清除您的临时 ASP.net 文件。

您可以使用这个单行 powershell:

Get-ChildItem “C:\Windows\Microsoft.NET\Framework*\v*\Temporary ASP.NET Files” -Recurse | Remove-Item -Recurse

此处详述的任何方法。

请记住,在具有 64 位应用程序的 64 位系统上,临时文件将位于C:\WINDOWS\Microsoft.NET\Framework64\...文件夹中,而不是C:\WINDOWS\Microsoft.NET\Framework\...文件夹中。

于 2017-02-22T10:58:52.137 回答