Windows Azure培训工具包MVC4,.NET v4.5无法部署到.NET v4的Azure网站

时间:2012-09-14 04:48:48

标签: asp.net-mvc-4 azure

我最近下载/安装了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.")]

2 个答案:

答案 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

enter image description here

至于事后将其更改回4.0,我没有尝试过,但也许还有其他代码产生的不兼容。您引用的两行绝对是生成代码的一部分,并且在我的情况下不会引起问题。

相关的编译错误是什么?