我有以下情况的副本,可以一次又一次地进行复制(在部署appdir之前和之后,appdir包含相同的内容):
web.config
以外的所有内容,并将新内容复制到IIS应用文件夹Windows 2012 R2 Server。应用程序自动回收,清空缓存,结果(仅在一个特定页面上,当触发输入字段的MVC验证时):InvalidOperationException
,详细信息:
An unhandled exception occurred
System.InvalidOperationException: Either ErrorMessageString or ErrorMessageResourceName must be set, but not both.
at System.ComponentModel.DataAnnotations.ValidationAttribute.SetupResourceAccessor()
at System.ComponentModel.DataAnnotations.ValidationAttribute.get_ErrorMessageString()
at System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(String name)
at System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(Object value, ValidationContext validationContext)
<compile><assemblies>
部分中删除评论(评论为第一行)最让我惊讶的是,删除评论会产生这样的影响,以及上述错误的出现/消失之间的区别。
我无法检测到目录结构的差异。 <compilation>
部分中的任何更改似乎都会触发此行为(甚至是评论)。 web.config其他部分中的其他更改不会 not 触发此行为。
我相信这是.NET刷新编译缓存(JIT缓存或其他方式)中的一个错误,但是我不确定。这是.NET Web应用程序的已知问题吗?就我所记得的(在.NET开发的二十年中),我还没有遇到过。