Как я могу увидеть строгое название моей сборки?
У меня есть проект, и я создал для него файл ключа строгого имени.
Как я могу сказать, что такое строгое название моей сборки? Кажется, это должно быть очевидным, но я не могу найти ссылку на это.
3 ответа
Вы можете получить полное имя, используя такой инструмент, как Reflector или ILSpy. Выберите сборку, и она должна быть сверху. Для XNA в ILSpy:
// C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.dll
// Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553
Если вы не хотите использовать эти инструменты, вы можете определить полное имя с помощью проводника Windows и командной строки Visual Studio.
Сначала щелкните правой кнопкой мыши DLL сборки -> Свойства -> Детали. Здесь вы можете найти название, версию и культуру вашей сборки.
Для открытого ключа запустите командную строку Visual Studio и напишите:
sn -Tp YourAssembly.dll
Это даст вам открытый ключ.
Теперь вы можете создать полностью квалифицированное имя.
Вы можете использовать инструмент Строгое имя, чтобы определить, строго ли названа сборка. В командной строке вы можете сделать это, чтобы убедиться, что это сборка со строгим именем.
sn -v "C:\MyAssemblyPath"
и чтобы получить публичный токен, вы можете сделать это
sn -T "C:\MyAssemblyPath"
Вы также можете использовать Reflector или ILSpy, чтобы найти токен открытого ключа.
Если вы хотите получить полное имя сборки, включая открытый токен, вы можете использовать Assembly.FullName.
Assembly.GetExecutingAssembly().FullName;
Process[] processlist = Process.GetProcesses();
foreach(Process theprocess in processlist)
{
string strongName = "N/A";
try
{
strongName = Assembly.ReflectionOnlyLoadFrom(theprocess.MainModule.FileName).FullName;
}
catch
{
// System process?
}
Console.WriteLine("Process: {0} ID: {1} Strong Name: {2}", theprocess.ProcessName, theprocess.Id, strongName);
Если вы знаете имя файла, вы можете обработать заголовки PE, чтобы найти сигнатуру строгого имени. }
Шаг 1. Командная строка разработчика для Visual Studio, выполнив поиск в меню "Пуск".
Шаг 2:C:\Windows\system32> он появится в командной строке.
Шаг 3: измените каталог по своему желанию. Вы можете указать каталог своего решения, например.cd D:\Learning\Projects\Biztalk\EAISchemas
Шаг 4: В командной строке из папки, в которой вы хотите сохранить файл ключа, введите следующую команду и нажмите ENTER:
sn / k имя_файла.snk
Пример: sn /k ErrorHandlingProcess.snk