strongly strong name c# visual-studio visual-studio-2012 .net-assembly strongname

c# - strong - ¿Cómo puedo ver el nombre fuerte de mi asamblea?



strongly named key (3)

Puede obtener el Nombre completo al utilizar una herramienta como Reflector o ILSpy. Selecciona el ensamblaje y debería estar encima de él. Para XNA en 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

Si no desea utilizar esas herramientas, puede averiguar el Nombre totalmente calificado utilizando el Explorador de Windows y el Símbolo del sistema de Visual Studio.

Primero, haga clic derecho en la DLL de ensamblaje -> Propiedades -> Detalles. Aquí puede encontrar el nombre, la versión y la cultura de su Asamblea.

Para la clave pública, inicie el indicador de comandos de Visual Studio y escriba:

sn -Tp YourAssembly.dll

Te dará la clave pública.

Ahora puedes falsificar el nombre completo.

Tengo un proyecto y creé un archivo de clave de nombre seguro para él.

¿Cómo puedo saber cuál es el nombre fuerte de mi asamblea? Parece que esto debería ser obvio, pero no puedo encontrar ninguna referencia a él.


Puede usar la herramienta de nombre seguro para determinar si el ensamblaje tiene un nombre seguro. En el símbolo del sistema, puede hacer esto para verificar que se trata de un conjunto con nombre seguro.

sn -v "C:/MyAssemblyPath"

y para obtener el token público, puedes hacer esto

sn -T "C:/MyAssemblyPath"

También puede usar Reflector o ILSpy para encontrar el token de clave pública.

Si desea obtener el nombre completo del ensamblaje, incluido el token público, puede usar 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);

Si conoce el nombre de archivo, puede procesar los encabezados de PE para encontrar la firma de nombre seguro . }