Antes de nada quiero comentar que este sistema que ahora muestro no se si pudiera perjudicar de alguna manera a VS. En cualquier caso es reversible , ya que todo consiste en crear una carpeta la cual le vamos a indicar a VS que esa es la que debe usar para obtener las librerías de Framework.
Hasta lo que yo he podido comprobar todo por ahora me funciona correctamente. Pero hay muchas cosas que no uso y puede que nunca llegue a hacerlo. Así que no si esto pudiera perjudicar en algo.
Pues nada, dicho queda y voy al asunto.
Si usas versiones como VS.NET 2010 e instalas paquetes como estos:
[21/02/2011]
Microsoft .NET Framework 4 Client Profile
Microsoft .NET Framework 4 Full Profile
O bien Microsoft .NET Framework 4.5 pero no compatible con XP :
Microsoft .NET Framework 4.5
Te puedes encontrar que a pesar de ello no se actualiza el framework y NET continúa usando las versión .NET Framework Client Profile v4.0.0.0. , o que no se pueden usar todas las clases que en teoría dispone.
NET ignorará la nueva versión en el sistema, y no estará en la lista. En teoría debería instalarse en:
Código:
C:\Archivos de programa\Reference Assemblies\Microsoft\Framework\.NETFramework
Sin embargo, no lo hace. En realidad se instala en:
Código:
C:\WINDOWS\Microsoft.NET\Framework
Entonces lo que se puede hacer es pasar la última versión de framework manualmente a:
Código:
C:\Archivos de programa\Reference Assemblies\Microsoft\Framework\.NETFramework
Si es tu caso, al intentar usar determinadas clases como System.Web éste no dispondrá de todas sus clases y funciones. Además no estará en la lista de referencias, y ésta será bastante limitada.
Pongo como ejemplo 'System.Web' en la imagen siguiente que se puede ver solo aparecen dos componentes de System.Web
Además, por defecto, VS2010, ni VS2012 agregan System.Web.dll
Así que al importar System.Web solo están disponibles tres clases.
Para tener actualizado el Framework de VS y tener acceso a todas las clases se puede hacer lo siguiente:
PASO 1
Dirígete a:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
Esta carpeta contiene las librerías de .NET Framework v4.0.
Cambia el nombre por […\v4.0.bak]
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0.bak
De esta forma podrás revertir el proceso y volver al estado original si hubiese algún problema.
Una vez hecho esto, si ejecutas Visual Studio, comprobarás que al intentar crear un nuevo proyecto VS no puede seleccionar ningún Framework.
PASO 2
Dirígete a:
Código:
C:\Windows\Microsoft.NET\Framework
Y copia la carpeta más reciente de Framework que contenga en:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework
Por ejemplo:
Código:
C:\Windows\Microsoft.NET\Framework\v4.0.30319
Lo copias en:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework
Entonces el directorio quedaría así:
La carpeta suele ser bastante pesada. Unos 300 MB más o menos. Realmente no es necesario copiar todos los archivos pero resulta más cómodo.
PASO 3 CAMBIO DE NOMBRES
Hay que cambiar el nombre de la nueva carpeta [..\v4.0.xxx] a […\v4.0]
Cambiar también, el nombre del archivo VSList.xml que hay en:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\RedistList
Y renombrarlo con el nombre [FrameworkList.xml]:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\RedistList\ FrameworkList.xml
PASO 4
La carpeta [v4.0.xxx] que se ha creado y renombrado por […\v4.0] le falta una subcarpeta, la cual está en la carpeta original […\v4.0] que se ha renombrado […\v4.0.bak].
Hay que copiar la carpeta en el nuevo directorio […\v4.0].
La carpeta se llama [Profile]
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0.bak\Profile
PASO 5
Ahora dirígete a:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
Ordena los archivos que contiene por tipos, selecciona todas las librerías DLL y copias y reemplazas en:
Código:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client
Te saldrá un diálogo de confirmación, dices sí a todo. Pero ojo, no te equivoques y lo hagas en [v4.0.bak]. Recuerda que esta carpeta debe quedar intacta por si quieres volver a dejar todo como estaba.
Si ahora ejecutas VS verás que ahora sí hay un Framework v4.0 disponible.
Ahora VS cargará por defecto las librerías actualizadas, pero no todas, ya que de modo predeterminado solo agrega estas:
Al 'Agregar referencia', la lista de librearías disponibles habrá aumentado notablemente, como se puede ver esta imagen con System.Web:
Una vez agregado:
Al importar se cargan todas las clases.
He intentado de simplificar el proceso, pero de alguna manera u otra me acaba dando errores. No se muy bien como funciona la carga de librerías en VS, pero parece que utilizando este sistema no da errores. Créeme que he probado y toqueteado de todo y al final siembre acaba dando algún error.
Por ahora parece, que de esta manera todo va bien y funciona incluso en XP.
S2s