Как импортировать файл.snk, созданный с помощью sn.exe в.NET?
Я создал файл ключа с этой командой:
sn.exe -k 2048 Build.snk
Я хотел бы прочитать в этом ключе с.NET. Я не смог найти никакого документа относительно формата.snk, поэтому мне интересно, есть ли способ на C# читать в файле.snk?
Первоначально я задавал этот вопрос, потому что использовал файл.snk не для подписания сборки. Как указано в одном из ответов ниже, назначение файлов.snk на самом деле только для подписания сборок.
2 ответа
Сильные ключи имен используются во время компиляции для подписи сборок, созданных компилятором, поэтому их чтение во время выполнения, вероятно, не то, что вам нужно.
Чтобы начать, перейдите на вкладку "Подписывание" в окне свойств вашего проекта C# - там вы можете выбрать, чем.snk подписать сборку.
http://msdn.microsoft.com/en-us/library/xc31ft41(VS.100).aspx
Нашел упоминание в 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();
}
}