Как импортировать файл .snk, созданный с помощью sn.exe в .NET? - PullRequest
3 голосов
/ 22 июня 2010

Я создал файл ключа с помощью этой команды:


 sn.exe -k 2048 Build.snk

Я хотел бы прочитать этот ключ в .NET.Я не смог найти ни одного документа относительно формата .snk, поэтому мне интересно, есть ли способ на C # читать в файле .snk?

Моя первоначальная причина спроситьВопрос состоял в том, чтобы использовать файл .snk для других целей, кроме подписания сборки.Как указано в одном из ответов ниже, назначение файлов .snk на самом деле только для подписания сборок.

Ответы [ 2 ]

9 голосов
/ 22 июня 2010

Нашел упоминание в MSDN здесь .Вот код:


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();
    }
}

3 голосов
/ 22 июня 2010

Сильные ключи именования используются во время компиляции для подписи сборок, созданных компилятором, поэтому их чтение во время выполнения, вероятно, не то, что вам нужно."вкладка в окне свойств вашего проекта C # - там вы можете выбрать, чем .snk подписать сборку.

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

...