Ho una soluzione di targeting .net framework 3.5. Tutti i riferimenti alle core dll hanno la versione 2.x del runtime poiché sono stati compilati con esso. Perché è così? Questo significa che non sto usando le ultime versioni di quelle DLL con correzioni di errori?Perché la versione di System.dll è 2.x nel mio progetto .net targeting .net framework 3.5?
risposta
Framework 3.5 sta ancora lavorando su CLR 2.0. V3 e V3.5 aggiungevano solo alcune (molto di fatto) nuove classi, ma non cambiavano gli assiemi esistenti. Anche il compilatore è cambiato, ma in realtà non è il runtime.
Ecco perché in %windir%\Microsoft.NET\Framework\v3.5
(o Framwork64), non troverete gli assembly già disponibili in V2.
Il Framework V4 ha introdotto una nuova versione di CLR. Troverete di conseguenza in %windir%\Microsoft.NET\Framework\v4.0.30319
tutti gli assemblaggi.
Il Versions and Dependencies page elenca tutte le versioni, sia la versione della libreria della classe base che la versione clr.
[Modifica] Con l'arrivo della V4.5, lo same table is available per la prossima versione.
No, si sta utilizzando l'ultimo 3.5, che dipende ancora da 2.x in alcuni file di assiemi. prova a controllare gli assembly che arrivano con 2.x non li troverai mai come 3.x quindi non c'è una nuova versione per quei file.
Aggiungi 1: Per verificare quale quadro si prendono di mira Vai al progetto prosperity-> di compilazione> cliccare su Advance compilazione Opzioni-> framework di destinazione.