Determinare la posizione originale di costruzione / percorso di un file exe utilizzando NET Reflector o un altro strumento

StackOverflow https://stackoverflow.com/questions/2185626

  •  25-09-2019
  •  | 
  •  

Domanda

Ho un file EXE che è attualmente distribuito sul nostro server di produzione (C # .NET 2). Ho ereditato il compito di fare alcune modifiche a questa applicazione e ri-Distribuzione.

non ho scritto questo app e sono stato indicò alcune cartelle differenti su diverse unità di rete con alcune diverse soluzioni di Visual Studio (~ 10) che erano diversi incantesimi di questa applicazione nel tempo e potrebbe essere contendenti per il progetto di visual Studio che è stato utilizzato per generare questo exe, ma non so quale progetto è stato utilizzato che corrisponde al di EXE di produzione.

C'è un modo utilizzando .net riflettore o un altro strumento per determinare il percorso del file originale file di origine laici quando sono stati usati per compilare il file EXE , posso poi indietro di lavoro per determinare la corretta visiva soluzione di Studio e iniziare a fare le modifiche lì.

Grazie

È stato utile?

Soluzione

Che suona come un inferno di una situazione se non si può arrivare a conoscere ciò che è l'origine di ciò che è in esecuzione in produzione.

Tuttavia, una possibile soluzione è quella di avere uno sguardo alla intestazione di debug del exe di montaggio, se è stato compilato con i simboli di debug, può contenere il percorso completo originale del PPB, dando un indizio di dove è stato costruito. È possibile ottenere con lo strumento dumpbin che fa parte di Windows SDK.

Ecco un esempio di output:

  Debug Directories

        Time Type       Size      RVA  Pointer
    -------- ------ -------- -------- --------
    4A0F2A94 cv           51 0006672C    6492C    Format: RSDS, {77468AA8-8494-46AC-87DF-422721517504}, 8, C:\sources\mcs\class\Mono.Cecil\obj\Debug\Mono.Cecil.pdb

Meglio ancora, se avete la PDB a portata di mano, è possibile utilizzare uno strumento come pdbdump per sapere quali file sono stati utilizzati per compilare l'assembly.

Altri suggerimenti

La cosa migliore è probabilmente quello di usare Reflector e uno dei plugin generatore di file a http: //www.codeplex .com / reflectoraddins il dump del codice in file. Prima di apportare modifiche, però, assicurarsi la possibilità di ricostruire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top