Pregunta

He creado un archivo de clave con este comando:


 sn.exe -k 2048 Build.snk

Me gustaría leer en esta clave con .NET. No he podido encontrar ningún documento sobre el formato del .snk, así que me pregunto si hay una manera en C# para leer en un archivo .snk.

Mi razón original para hacer la pregunta era usar el archivo .snk para fines distintos de la firma de un ensamblaje. Como una de las respuestas a continuación, el propósito de los archivos .snk es realmente solo para firmar ensamblajes.

¿Fue útil?

Solución

Las claves de nomenclatura fuertes se usan en el tiempo de compilación para firmar los ensamblajes producidos por el compilador, por lo que leerlas durante el tiempo de ejecución probablemente no sea lo que desea.

Para comenzar, busque la pestaña "Firma" en la ventana Propiedades de su proyecto C#, puede elegir qué .snk para firmar el ensamblaje.

http://msdn.microsoft.com/en-us/library/xc31ft41(vs.100).aspx

Otros consejos

Encontré una mención en msdn aquí. Aquí está el código:


public static void Main()
{
    // Open a file that contains a public key value. The line below  
    // assumes that the Strong Name tool (SN.exe) was executed from 
    // a command prompt as follows:
    //       SN.exe -k C:\Company.keys
    using (FileStream fs = File.Open("C:\\Company.keys", FileMode.Open))
    {
        // Construct a StrongNameKeyPair object. This object should obtain
        // the public key from the Company.keys file.
        StrongNameKeyPair k = new StrongNameKeyPair(fs);

        // Display the bytes that make up the public key.
        Console.WriteLine(BitConverter.ToString(k.PublicKey));

        // Close the file.
        fs.Close();
    }
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top