Как я могу увидеть строгое название моей сборки?

У меня есть проект, и я создал для него файл ключа строгого имени.

Как я могу сказать, что такое строгое название моей сборки? Кажется, это должно быть очевидным, но я не могу найти ссылку на это.

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

Другие вопросы по тегам