Come si può determinare se un particolare .Net assembly è già stato ingannato o no? Devo controllare dal codice. Anche invocare la riga di comando andrebbe bene. Al momento non riesco a vedere alcun modo per determinare questo.Come determinare se l'assemblaggio è stato annullato?
risposta
È possibile provare a trovare il proprio assieme in "cache ngen" (C: \ Windows \ assembly \ NativeImages_v2XXXXXXX).
Gli assembly assemblati avranno il seguente formato: [nome-base]. ni. [Baseextension].
Windows 7 sembra archiviarli è una posizione leggermente diversa, e senza '.ni.' nel nome: C: \ Windows \ assembly –
Molto strano. Ho installato Windows 7 e il percorso "ngen cash" è "C: \ Windows \ assembly \ NativeImages_v2.0.50727_32 \". – Sasha
assegno da Codice
Verificare se stiamo caricando un'immagine nativa per l'assemblaggio di esecuzione. Sto cercando il modello "\ assemblyname.ni" nella proprietà del nome file del modulo caricato.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Diagnostics;
namespace MyTestsApp
{
class Program
{
static bool Main(string[] args)
{
Process process = Process.GetCurrentProcess();
ProcessModule[] modules = new ProcessModule[process.Modules.Count];
process.Modules.CopyTo(modules,0);
var niQuery = from m in modules where m.FileName.Contains("\\"+process.ProcessName+".ni") select m.FileName;
bool ni = niQuery.Count()>0 ?true:false;
if (ni)
{
Console.WriteLine("Native Image: "+niQuery.ElementAt(0));
}
else
{
Console.WriteLine("IL Image: " + process.MainModule.FileName);
}
return ni;
}
}
}
Command Line Soluzione:
Run "visualizzazione ngen" sul prompt dei comandi.
Esempio:
visualizzazione ngen MyTestsApp.exe
Se installato, esso stampa qualcosa come immagini native: MyTestsApp, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null
e ritorna 0 (% errorlevel%)
In caso contrario, esso stampa:
Errore: l'assembly specificato non è installato.
e restituisce -1
- 1. Come determinare se un evento è già stato sottoscritto
- 2. Come determinare se il figlio è stato cliccato su Jquery
- 3. Come posso determinare se un UILabel è stato toccato?
- 4. Come determinare se l'oggetto è stato collocato con nuova collocazione
- 5. Come faccio a sapere se un trascinamento è stato annullato in WPF
- 6. Script di Bash: determinare se il file è stato modificato?
- 7. determinare se lo script PowerShell è stato dot-sourced
- 8. Un modo per determinare se un elemento è stato imballato?
- 9. metodo POST, messaggio Stato (annullato) errore
- 10. Verifica se l'utente ha annullato SKPaymentTransaction
- 11. Determinare se NSNumber è NaN
- 12. Come determinare se l'URL è un'immagine?
- 13. Come determinare se Type è una struct?
- 14. Come determinare se un poliedro è convesso?
- 15. Come determinare se XML è ben formato?
- 16. Determinare se Any.Type è facoltativo
- 17. Come determinare come è stato creato un assemblaggio
- 18. Determinare quali sovraccarico è stato selezionato
- 19. Determinare se la connessione Internet è disponibile
- 20. Come determinare se l'account utente è abilitato o disabilitato
- 21. Come determinare se il ruolo "Servizi di dominio Active Directory" è stato installato su un server
- 22. Come determinare il doctype se nessuno è stato impostato nel documento?
- 23. Come posso determinare se Console.Out è stato reindirizzato a un file?
- 24. Come determinare se è stato specificato un valore del parametro Cmdlet di PowerShell?
- 25. LibGDX: come determinare in modo affidabile se il contesto opengl è stato perso?
- 26. Come posso determinare se il Backspace è stato premuto nell'evento KeyPress?
- 27. Come controllare lo stato di Resque worker per determinare se è morto o stantio
- 28. Come determinare se qualcosa è stato modificato nel trigger di aggiornamento in t-sql
- 29. JQuery: come determinare se un pulsante di opzione è stato selezionato?
- 30. Come determinare se è trascorso un NSDate (compreso il tempo)
Nel codice? Dalla riga di comando? Interattivo? Che cosa? Deve essere nelle proprietà del file da qualche parte ... –