1

最近、WATK をダウンロード/インストールしました。また、Azure の無料試用版にもサインアップしました。ラボ「Windows Azure Web サイトと Visual Studio 2012 を使用した ASP.NET アプリケーションの構築と発行」を完了しました。キットが .NET 4.5 を使用しており、Azure サイトが .NET Framework 4.0 のみを受け入れることがわかったとき、私は 80% 完了していました。ラボ プロパティの構成を 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.")]
4

2 に答える 2

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ステートメントを追加すると、問題も修正されます)

于 2012-09-14T09:29:25.743 に答える
1

そのラボは [ファイル] > [新しいプロジェクト] で始まるため、[ファイル] > [新規] を実行するまで、実際にはフレームワークに関連付けられていません。ダイアログでデフォルトのフレームワークを確認してください。おそらく 4.5 だと思います

ここに画像の説明を入力

事後に 4.0 に戻すことについては、試していませんが、互換性のない他のコードが生成されている可能性があります。あなたが参照している2行は間違いなく生成されたコードの一部であり、私の場合は問題を引き起こしません.

関連するコンパイル エラーは何ですか?

于 2012-09-14T07:00:37.277 に答える