c# - engine - No se pueden encontrar las clases `DataProtectionScope` y` ProtectedData` en System.Security.Cryptography
system.security.cryptography c# example (5)
He referido el archivo System.Security.dll
como se describe en este artículo, pero de acuerdo con mi IDE, la línea que using System.Security.Cryptography;
Se puede quitar con seguridad ya que no se está utilizando.
El mismo IDE me dice que tengo un error con DataProtectionScope
y ProtectedData
. Esos se supone que están en ese espacio de nombres. Sin embargo, cuando salpico los paquetes, no puedo verlos allí.
¿Está mal el artículo? ¿Cómo puedo acceder a las dos clases?
Como @Coral Doe mencionó en un comentario en @Dave Lucre:
"Tuvo un problema similar y esto funcionó. El uso de System.Security.Cryptography; no me mostró [ProtectedData] ni ProtectedMemory hasta que hice referencia a System.Security.dll para el marco específico".
Esto solucionó el problema para mí. Específicamente, realicé estos pasos:
- Abra el proyecto en Visual Studio.
- Haga clic derecho en el nombre del proyecto en el Explorador de soluciones y luego elija Propiedades.
- Haga clic en la pestaña Referencias a la izquierda.
- Haga clic en el botón Agregar.
- Haga clic en la pestaña .NET.
- Seleccione System.Security y haga clic en Aceptar para agregar la referencia.
Espero que esto ayude.
Como @Dave Lucre preguntó, ¿qué marco de trabajo está orientado su aplicación? Visual Studio crea todas las aplicaciones nuevas para usar el perfil del cliente de forma predeterminada (que en mi opinión es normal) y causa todo tipo de problemas si no lo cambia específicamente. Échale un vistazo, luego ve a dónde vamos desde allí.
Esto podría ser una bofetada en la cara porque probablemente lo haya intentado (y no lo haya hecho, tal vez se lo merezca ). ¿Qué pasa si reinstalas todo el IDE? Y quise decir realmente todo el asunto. Elimine el marco, el VS, elimine los archivos, vaya paranoico y limpie la papelera, cambie a un directorio de instalación diferente, etc. ¿Sigue habiendo el problema?
Sé que no explica por qué sucedió, pero en esta etapa supongo que está más interesado en cómo resolver el problema.
Si tiene acceso a una computadora de repuesto, ¿por qué no instala VS en esa máquina y ve si puede reproducir el error? Si no, entonces hay algo raro en tu máquina principal y probablemente nunca sabrás lo que sucedió.
Estoy enfatizando aquí que es solo una lista de sugerencias generales en las que todo programador debería confiar cuando nada funciona ni parece lógico. Y sí, odio las computadoras. Me encanta la programación pero odio las computadoras. Son como personas pequeñas, malvadas con teclados ...
He hecho referencia a System.Security.dll aquí: C:/Program Files/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.0/System.Security.dll
Añadido using System.Security.Cryptography;
y puedo ver tanto DataProtectionScope
como ProtectedData
.
Estoy apuntando al marco completo de .net 4.0 (no al perfil del cliente).
¿A qué marco te diriges?
Tuve que agregar este paquete NuGet además de System.Security.Cryptography
.
Es nuget.org/packages/System.Security.Cryptography.ProtectedData .
Después de eso, System.Security.Cryptography
convirtió en "utilizado".