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ù ...

È stato utile?

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

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