簡體   English   中英

在 System.Security.Cryptography 中找不到 `DataProtectionScope` 和 `ProtectedData` 類

[英]Can't find `DataProtectionScope` and `ProtectedData` classes in System.Security.Cryptography

我已經按照本文所述引用了文件System.Security.dll ,但根據我的 IDE, using System.Security.Cryptography;的行using System.Security.Cryptography; 可以安全地移除,因為它沒有被使用。

同一個 IDE 告訴我DataProtectionScopeProtectedData出現錯誤。 這些應該在那個命名空間中。 但是,當我在包裹中點點滴滴時,我看不到它們在里面。

文章錯了嗎? 如何訪問這兩個類?

正如@Coral Doe 在@Dave Lucre 下的評論中提到的:

“遇到了類似的問題,這很有效。使用 System.Security.Cryptography;直到我為特定框架引用了 System.Security.dll,我才 [顯示] [ProtectedData] 和 ProtectedMemory。”

這為我解決了這個問題。 具體來說,我執行了以下步驟:

  1. 在 Visual Studio 中打開項目。
  2. 在解決方案資源管理器中右鍵單擊項目名稱,然后選擇屬性。
  3. 單擊左側的引用選項卡。
  4. 單擊添加按鈕。
  5. 單擊 .NET 選項卡。
  6. 選擇 System.Security 並單擊確定以添加引用。

希望這可以幫助。

我在這里引用了 System.Security.dll: C:\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.0\\System.Security.dll

using System.Security.Cryptography;添加using System.Security.Cryptography; 我可以看到DataProtectionScopeProtectedData

我的目標是 .net 4.0 完整框架(不是客戶端配置文件)。

你的目標是什么框架?

除了System.Security.Cryptography之外,我還必須添加這個 NuGet 包。

它是https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/

在那之后, System.Security.Cryptography被“使用”了。

正如@Dave Lucre 所問的,您的應用程序針對的是什么框架? 默認情況下,Visual Studio 創建所有新應用程序以使用客戶端配置文件(在我看來這是愚蠢的),如果您不專門將其改回來,它會導致各種麻煩。 看一看,然后看看我們從哪里開始。

刪除引用System.Security.Cryptography並再次添加。

它適用於我的情況。

對不起,我知道這是一篇很老的帖子,但我現在遇到了這個問題,我找到的唯一解決方法是:

  1. 按照George Brian 的回答中提到的步驟進行操作
  2. 使用System.Security.Cryptography.DataProtectionScope scope = System.Security.Cryptography.DataProtectionScope.LocalMachine; 而不是DataProtectionScope scope = DataProtectionScope.LocalMachine;

這可能是對您的一記耳光,因為您可能已經嘗試過(但您沒有嘗試過,您可能值得一試)。 如果重新安裝整個 IDE 會發生什么? 我的意思是整件事 刪除框架,VS,刪除文件,偏執並清理垃圾桶,切換到不同的安裝目錄等。問題仍然存在嗎?

我知道它沒有解釋為什么會發生,但在這個階段我猜你最感興趣的是如何解決這個問題。

如果您可以訪問備用計算機 - 為什么不在計算機上安裝 VS 並查看是否可以重現該錯誤。 如果沒有,那么您的主要機器就會出現問題,您可能永遠不會知道發生了什么。

我在這里強調的是,這只是一個一般性建議的列表,每個程序員在似乎沒有任何理智或邏輯的情況下應該依賴這些建議。 是的,我確實討厭電腦。 我喜歡編程,但我討厭電腦。 他們就像小而邪惡的人,拿着鍵盤……

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM