116

WPF プロジェクトで DataAnnotations を使用して、次のように文字列の最大長を指定しようとしています。

using System.ComponentModel.DataAnnotations;

ただし、エラーが発生します

タイプまたは名前空間名「DataAnnotations」が名前空間「System.ComponentModel」に存在しません (アセンブリ参照がありませんか?)

この名前空間に存在するDataAnnotations の例を見てきました。私はC#4を使用しています。これを使えない理由はありますか?修正するにはどうすればよいですか?

4

16 に答える 16

168

この名前空間が定義されているアセンブリを参照する必要があります (Visual Studio テンプレートでは既定では参照されません)。参照マネージャーを開き、System.ComponentModel.DataAnnotations アセンブリへの参照を追加します (ソリューション エクスプローラー -> 参照の追加 -> .Net タブの選択 -> リストから System.ComponentModel.DataAnnotations を選択します)。

于 2012-04-16T12:53:37.603 に答える
2

(1)の以下のバージョンでは、Silverlight 5 から System.ComponentModel.DataAnnotations を参照できないことがわかりました。Silverlight 5 アセンブリは .NET アセンブリを使用できないことがわかりました。「Silverlight ランタイムに対してビルドされていないため、System.ComponentModel.DataAnnotations への参照を追加できません...」というエラーが表示されます。以下の (2) にある Silverlight 5 パッケージをインストールすることをお勧めします。これが失敗した場合は、この投稿を更新します。

[更新: 失敗しました。Silverlight 5 に関連するすべてのものをインストールしましたが、Silverlight バージョンの .dll アセンブリ System.ComponentModel.DataAnnotations がありません。残念な。更新 II: Visual Studio 2008 または 2010 用の Silverlight 開発者キットの以前のインストールから、この名前の古い .dll を見つけました。これがこの .dll 内の他のすべてのもので機能するかどうかなど、 [Display(Name = "My Property Name")]. わかりません。]

(1)

Microsoft Visual Studio Professional 2013
Version 12.0.21005.1 REL
Microsoft .NET Framework
Version 4.5.51641

インストールされているバージョン: プロフェッショナル

(2) http://go.microsoft.com/fwlink/?LinkId=229318

于 2014-10-02T08:02:27.730 に答える
1

プロジェクトにFrameWorkバージョン4.5以降を使用すると、問題が解決されます。この名前空間は4.5以降であるためです。

于 2014-04-03T14:59:33.650 に答える
0

私もこの問題を抱えています。システムと同じ名前空間を追加すると、それは非常にばかげています。すべての参照を削除しようとしましたが、解決されません。「global::System.ComponentModel」を使用していますが、同様に機能しています。名前空間を削除すると、この問題は解決されました。

于 2018-03-25T02:10:34.920 に答える
-6

私は同じ問題を抱えていました。次の方法でこの問題を解決しました。

ページを右クリックし、[プロパティ] を選択します。ビルド アクションで [コンテンツ] を選択します。

このソリューションがお役に立てば幸いです。

于 2014-03-25T19:46:07.273 に答える