Determinare riferimenti al progetto per mscorlib
Domanda
Ciao ragazzi, ho un progetto di sito web ASP.NET che per qualche motivo insiste sul riferimento sia mscorlib 1.0.5 e 2.0 mscorlib, e non riesco a capire perché.
Ho analizzato tutte le DLL a cui fa riferimento utilizzando NDepend, e tutti sembrano fare riferimento solo a mscorlib 2.0. Ho un paio di riferimenti web, ma non riesco a immaginare perché ciò creerebbe un ulteriore riferimento al 1,0 dll.
Qualcuno ha qualche idea per questo sarei ottenendo questo riferimento aggiuntivo, o che cosa posso usare per scoprire che le informazioni? NDepend è grande, ma appena torna e dice "trovato 2 riferimenti, utilizzando la versione più recente", in modo che non mi aiuta a capire il motivo per cui ho il riferimento in più ...
Soluzione
Credo che a questo punto la soluzione migliore è quella di utilizzare ildasm. Utilizzando ildasm sul gruppo, si apre un nodo denominato "Manifesto". Fare doppio clic su quel nodo e scaricherà la rappresentazione IL dei riferimenti di montaggio tra cui il numero di versione di riferimento. Ripetere questa operazione per tutte le DLL di fino a trovare quella che fa riferimento alla versione 1.0.
Modifica
Un'altra possibile soluzione sarebbe quella di elencare i valori Assembly
e metodo GetReferencedAssemblies
lì associati. Ciò restituirà una matrice di valori AssemblyName
che hanno un corrispondente organo versione. Questo dovrebbe contenere la versione attuale del gruppo di riferimento rispetto a quello che è stato effettivamente caricato.
Io non sono sicuro al 100% su questa materia e non hanno un modo conveniente per testare subito.
Altri suggerimenti
Provare a rimuovere il riferimento e ricompilare -. Che vi dirà che cosa (se non altro) dipende dalla versione precedente
Un riferimento controllo può essere residente nel file web.config.
La gentilezza,
Dan