2012-03-10 47 views
2

我正在嘗試編寫一個簡單的Gui來生成一個隨機密碼。 我想使用的代碼是:成員名稱在當前上下文中不存在

using System.Web.Security;

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

我收到錯誤:「名‘會員’不能在當前的背景下存在」

我有改變了代碼這樣:

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

我得到的錯誤消息是:「名稱空間'System.Web'中不存在類型或命名空間'SecurityMembership'(您是否缺少程序集引用?」)

我引用了System.Web.Security在上面的兩個例子中。有什麼方法可以解決我的問題嗎?

+0

您使用的是.NET 1.x嗎? Membership類是在.NET 2.0中引入的。 http://msdn.microsoft.com/en-us/library/system.web.security.membership.aspx – BACON 2012-03-10 05:26:32

+0

@BACON .NET Framework 4 – ajaustin12 2012-03-10 05:32:37

回答

5

的參考添加到的System.Web(參考文獻 - >右擊 - > AddReference - > .NET - >的System.Web)

現在添加使用(或進口如果使用VB),用於System.Web.Security

您可能需要更改配置文件到.NET(而不是.NET客戶端配置文件)

+0

謝謝。我想出瞭如何改變「你可能需要將配置文件更改爲.Net(而不是.Net客戶端配置文件)」,並讓它工作。 – ajaustin12 2012-03-10 05:48:36

+0

沒問題,祝你好運 – LenPopLilly 2012-03-10 05:59:18

4

你確定這是確切的代碼/錯誤消息?你貼

錯誤消息:

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

意味着您試圖訪問SecurityMembership類。哪有這回事。您應該在Security後添加一個點。此外,該課程在System.Web.dll中定義,而不是System.Web.Security.dll。請注意,System.Web程序集在.NET Framework Client Profile中不可用。爲了能夠使用它,您需要定位完整的.NET Framework。您可以在「項目屬性」中更改項目的目標配置文件。

還有其他的方式generate random passwords不需要你添加依賴System.Web.dll程序集(因爲你在Windows窗體環境中這樣做)。此外,您可以使用System.Security.Cryptography類來生成密碼安全的隨機數。

+0

我修復了丟失的點。它現在給我一個錯誤,說:「名稱空間'System.Web.Security'中不存在類型或命名空間'Membership'(你缺少程序集引用嗎?」 – ajaustin12 2012-03-10 05:26:26

+0

@ ajaustin12你確定已經添加了對* * System.Web **程序集System.Web,而不是System.Web.Security。檢查解決方案資源管理器下的「參考」。如果在那裏看不到它,請右鍵單擊參考,單擊「添加參考」並選擇系統。 Web。 – 2012-03-10 05:28:02

+0

當我查找.Net引用時,我只有以下內容:System.Web.Services和System.Web.ApplicationServices我已經選擇了兩個並且沒有更改 – ajaustin12 2012-03-10 05:28:30

-1

添加using System.Web.Security;命名空間中的cs文件。

+0

這只是複製已接受答案中已有信息的子集。 – 2014-12-17 16:31:06

相關問題