我最近下载/安装了WATK。我还注册了一个免费的天蓝色试验。通过实验室“使用Windows Azure网站和Visual Studio 2012构建和发布ASP.NET应用程序”。当我发现该工具包使用的是.NET 4.5时,我完成了80%,而Azure网站只接受.NET framework 4.0。如果我将实验室属性配置更改为4.0,则无法编译。罪魁祸首是:
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
答案 0 :(得分:2)
您在这里遇到的问题是因为CompareAttribute属性在4.5版本的DataAnnotations程序集和System.Web.Mvc程序集中都可用。自从您在4.5中启动项目以来,您可能将代码基于System.ComponentModel.DataAnnotations.CompareAttribute(.NET 4.5)。
切换到System.Web.Mvc.CompareAttribute即可解决错误:
[System.Web.Mvc.CompareAttribute("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
[System.Web.Mvc.CompareAttribute("Password", ErrorMessage = "The password and confirmation password do not match.")]
(为System.Web.Mvc添加using语句也将解决问题)
答案 1 :(得分:1)
该实验以文件>新项目开始,因此在您执行文件>新建之前,它并不真正与框架相关联。检查对话框上的默认框架,我怀疑它是4.5
至于事后将其更改回4.0,我没有尝试过,但也许还有其他代码产生的不兼容。您引用的两行绝对是生成代码的一部分,并且在我的情况下不会引起问题。
相关的编译错误是什么?