c# - saber - localizar numero de celular por satelite gratis
¿Dónde puedo encontrar la ubicación del archivo generado después de hacer Ngen? (5)
Hice Ngen en un ejecutable de C #. Tuvo éxito, pero no puedo averiguar dónde está el archivo generado en mi PC. MSDN dice que debería estar en el caché de imágenes nativas, aún sin poder averiguar dónde está ...
EDITAR: Quiero ejecutar objdump en él, por lo tanto necesito el archivo físico
EDIT2: mi putput de ejecutar ngen es:
C:/Documents and Settings/nmea/My Documents/Visual Studio 2008/Projects/Consol
eApplication4/ConsoleApplication4/bin/Release>ngen install ConsoleApplication4.e
xe
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation. All rights reserved.
Installing assembly C:/Documents and Settings/nmea/My Documents/Visual Studio
2008/Projects/ConsoleApplication4/ConsoleApplication4/bin/Release/ConsoleApplica
tion4.exe
Compiling assembly C:/Documents and Settings/nmea/My Documents/Visual Stud
io 2008/Projects/ConsoleApplication4/ConsoleApplication4/bin/Release/ConsoleAppl
ication4.exe (CLR v2.0.50727) ...
ConsoleApplication4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Bueno, ya ves, tardó mucho tiempo en encontrar dónde está la ubicación.
Bueno, está dentro de la carpeta c:/Windows/assembly
, pero cuando abrí esta carpeta solo pude ver los ensamblados .NET, así que pensé que habría algunas carpetas ocultas. Así que abro la línea de comandos con privilegios administrativos y luego pude ver la lista de carpetas como se muestra a continuación ...
GAC, GAC_32, GAC_64, GAC_MSIL, NativeImages_v2.0.50727_32
NativeImages_v2.0.50727_64, NativeImages_v4.0.30319_32,
NativeImages_v4.0.30319_64
Ya ves que es increíble. Quiero decir, aquí solo puedo ver las carpetas requeridas, pero no los ensamblajes. Bueno, no hay problema, sé feliz.
Así que mi aplicación se creó en v4
y compilación de 64 bits, por lo tanto, mi archivo EXE requerido estaba en la raíz de la carpeta NativeImages_v4.0.30319_64
.
La ubicación exacta variará según la versión, pero será algo similar a esto:
C:/Windows/assembly/NativeImages_v2.0.50727_32/System.Web/ace3bede2f516f9e5bca620ad86cc063>System.Web.ni.dll
Comienzan en C:/Windows/assembly
y luego hay una subcarpeta NativeImages_vXXX
para cada versión .NET. Luego hay una subcarpeta para cada dll que tiene una imagen nativa. Bajo esa otra subcarpeta para un identificador de versión único (para que pueda tener varias imágenes nativas de diferentes versiones de la misma dll). Finalmente el propio dll nativo.
Tenga en cuenta que no puede navegar a este directorio en Windows Exlporer. Utilice cmd. En Explorer, hay una extensión de shell que oculta los detalles de cómo funcionan el GAC y las imágenes nativas y solo te muestra una interfaz de usuario más bonita.
Los encontrará en la carpeta NativeImages_blabla en c: / windows / assembly. También he notado que .NET 3.5 y superior en realidad no permiten el acceso físico a la imagen NGENed. Supongo que volvió a utilizar una base de datos grande para todos los archivos, pero no puedo estar seguro ya que las imágenes generadas no se ven en el disco.
Pruebe ngen display AssemblyName / verbose | findstr "Archivo:"
ej:% windir% / Microsoft.NET / Framework / v4.0.30319 / ngen.exe muestra System.Xaml / verbose | findstr "Archivo:"
Simplemente explora algunos problemas similares aquí y puedes navegar el GAC en el explorador si haces un cambio en el registro.
En HKEY_LOCAL_MACHINE / Software / Microsoft / Fusion, cree una entrada DWORD llamada DisableCacheViewer y configúrela en 1.
Después de eso, abra una nueva ventana del explorador y navegue a, por ejemplo, c: / windows / assembly.