2012-03-10 19 views
2

ランダムなパスワードを生成するための簡単なGUIを作成しようとしています。私が使用しようとしています コードは次のとおりです。名前メンバーシップは現在のコンテキストに存在しません

using System.Web.Security;

Password_txtBx.Text = Membership.GeneratePassword(12, 1);

私はエラーを取得しています:

を「名 『メンバーシップ』は現在のコンテキスト内に存在しない」私が持っていますこれにコードを変更:

Password_txtBx.Text = System.Web.Security.Membership.GeneratePassword(12, 1);

次に表示されるエラーメッセージは次のようになります。「型または名前空間 'SecurityMembership'が 'System.Web'という名前空間に存在しません(アセンブリ参照がありませんか?)」

System.Web.Security上記の両方の例で。私の問題を解決する方法はありますか?

+0

.NET 1.xを使用していますか? Membershipクラスは.NET 2.0で導入されました。 http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx – BACON

+0

@BACON .NET Framework 4 – ajaustin12

答えて

5

のSystem.Webへの参照を追加します(参考文献 - >右クリック - > AddReference - > .NET - >のSystem.Web)

が今使用して(または輸入使用してVBの場合)System.Web.Security用を追加

あなたは

+0

ありがとうございます。私は "あなたはプロファイルを.Net(.Net Client Profileではなく)に変更する必要があるかもしれない"ということを変更する方法を考え出しました。 – ajaustin12

+0

問題はありません、幸運 – LenPopLilly

4

正確なコード/エラーメッセージは本当ですか?

あなたが投稿エラーメッセージ:

"The type or namespace 'SecurityMembership' does not exist in the namespace 'System.Web' (are you missing an assembly reference?"

あなたがSecurityMembershipクラスにアクセスしようとしている意味します。そのようなことはない。 Securityの後にドットを追加する必要があります。また、クラスはSystem.Web.Security.dllではなく、System.Web.dllで定義されています。 System.Webアセンブリは、.NET Framework Client Profileでは使用できません。それを使用できるようにするには、完全な.NET Frameworkを対象とする必要があります。プロジェクトのプロパティでプロジェクトのターゲットプロファイルを変更することができます。

System.Web.dllアセンブリに依存関係を追加する必要はありません(Windowsフォーム環境でこれを実行しているため)generate random passwordsには他の方法があります。さらに、System.Security.Cryptographyクラスを使用すると、暗号で安全な乱数を生成できます。

+0

不足しているドットを修正しました。これで、「型または名前空間 'メンバシップ」が名前空間' System.Web.Security 'に存在しません(アセンブリ参照がありませんか?) – ajaustin12

+0

@ ajaustin12あなたは* * System.Web **アセンブリ?System.Web.SecurityではなくSystem.Webソリューションエクスプローラの「参照」で確認してください。そこに表示されない場合は、参照を右クリックし、「参照の追加」をクリックしてシステムを選択します。 Web。 –

+0

.Net参照を検索すると、次のものしかありません。System.Web.ServicesとSystem.Web.ApplicationServices両方を選択しても変更はありません。 – ajaustin12

-1

はの.csファイルにusing System.Web.Security;名前空間を追加します(代わりに、.NETクライアントプロファイル).NETにプロファイルを変更する必要があります。

+0

これは、受け入れられた回答で既に利用可能な情報のサブセットを複製しているだけです。 –

関連する問題