我已经按照本文System.Security.dll
中的描述引用了该文件,但根据我的 IDE,可以安全地删除该行,因为它没有被使用。using System.Security.Cryptography;
同一个 IDE 告诉我,我在使用DataProtectionScope
and时遇到了错误ProtectedData
。那些应该在那个命名空间中。但是,当我点开包裹时,我看不到它们。
文章错了吗?如何访问这两个类?
我已经按照本文System.Security.dll
中的描述引用了该文件,但根据我的 IDE,可以安全地删除该行,因为它没有被使用。using System.Security.Cryptography;
同一个 IDE 告诉我,我在使用DataProtectionScope
and时遇到了错误ProtectedData
。那些应该在那个命名空间中。但是,当我点开包裹时,我看不到它们。
文章错了吗?如何访问这两个类?
正如@Coral Doe 在@Dave Lucre 下的评论中提到的那样:
“有一个类似的问题,这很有效。使用 System.Security.Cryptography;在我为特定框架引用 System.Security.dll 之前,我没有 [显示] [ProtectedData] 和 ProtectedMemory。”
这为我解决了这个问题。具体来说,我执行了以下步骤:
希望这可以帮助。
我在这里引用了 System.Security.dll:C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Security.dll
已添加 using System.Security.Cryptography;
,我可以同时看到DataProtectionScope
和ProtectedData
。
我的目标是 .net 4.0 完整框架(不是客户端配置文件)。
你的目标是什么框架?
除了System.Security.Cryptography
.
它是https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/。
之后,System.Security.Cryptography
就被“使用”了。
正如@Dave Lucre 所问,您的应用程序的目标是什么框架?默认情况下,Visual Studio 创建所有新应用程序以使用客户端配置文件(我认为这很糟糕),如果您不专门将其更改回来,它会导致各种麻烦。看一看,然后看看我们从那里去哪里。
删除引用System.Security.Cryptography
并重新添加。
它适用于我的情况。
对不起,我知道这是一篇很老的帖子,但我现在遇到了这个问题,我发现的唯一解决方法是:
System.Security.Cryptography.DataProtectionScope scope = System.Security.Cryptography.DataProtectionScope.LocalMachine;
代替DataProtectionScope scope = DataProtectionScope.LocalMachine;
这可能是你脸上的一记耳光,因为你可能已经尝试过了(而你没有尝试过,你可能应该得到一个)。如果重新安装整个 IDE 会发生什么?我的意思是整个事情。删除框架,VS,删除文件,去偏执并清理垃圾桶,切换到不同的安装目录等。问题仍然存在吗?
我知道它不能解释为什么会发生,但在这个阶段我猜你最感兴趣的是如何解决这个问题。
如果您可以使用备用计算机 - 为什么不在该计算机上安装 VS 并查看是否可以重现错误。如果没有,那么您的主机就有问题,您可能永远不会知道发生了什么。
我在这里强调的是,这只是一个一般性建议的列表,当没有任何理智或逻辑似乎不起作用时,每个程序员都应该依赖这些建议。是的,我确实讨厌电脑。我喜欢编程,但我讨厌电脑。他们就像拿着键盘的小恶魔……