Orientación de .NET Framework 4.5 a través de Visual Studio 2010

Hoy instalé .NET Framework 4.5 en mi máquina esperando poder usarlo desde Visual Studio 2010, ya que es solo una actualización menor que no debería plantear problemas para Visual Studio 2010. Lamentablemente, no estoy, incluso eliminando manualmente ciertos 4.0 y agregar los ensamblados 4.5 correspondientes dio como resultado que los ensamblados 4.0 originales todavía estén referenciados en el proyecto.

¿Es posible orientar la versión 4.5 desde Visual Studio 2010 y, en caso afirmativo, cómo? Realmente me gustaría usar las cintas …

Cada versión de Visual Studio anterior a Visual Studio 2010 está vinculada a un marco .NET específico. (VS2008 es .NET 3.5, VS2005 es .NET 2.0, VS2003 es .NET1.1) Visual Studio 2010 y posteriores permiten la orientación de versiones anteriores del marco, pero no se puede usar para futuras versiones. Debe usar Visual Studio 2012 para utilizar .NET 4.5.

Existen situaciones muy limitadas en las que se me ocurre dónde podría ser útil, pero supongamos que no puede obtener fondos para comprar VS2012 o algo por el estilo. Si ese es el caso y tienes Windows 7+ y VS 2010, puedes usar el siguiente truco que armé y que parece funcionar (pero todavía no he implementado por completo una aplicación que use este método).

  1. Respalda tu archivo de proyecto !!!

  2. Descargue e instale el SDK de Windows 8 que incluye .NET 4.5 SDK.

  3. Abra su proyecto en VS2010.

  4. Cree un archivo de texto en su proyecto llamado Compile_4_5_CSharp.targets con los siguientes contenidos. (O simplemente descárguelo aquí : asegúrese de eliminar la extensión “.txt” del nombre del archivo):

         TARGETTING_FX_4_5   $(DefineConstants);TARGETTING_FX_4_5   v4.5      $(AvailablePlatforms),.NET 4.5   
  5. Descargue su proyecto (haga clic derecho -> descargar).

  6. Edite el archivo del proyecto (haga clic derecho -> Editar * .csproj).

  7. Realice los siguientes cambios en el archivo de proyecto:

    a. Reemplace el Microsoft.CSharp.targets predeterminado con el archivo de destino creado en el paso 4

         

    segundo. Cambie la plataforma predeterminada a .NET 4.5

        .NET 4.5 

    do. Agregue la plataforma AnyCPU para permitir orientar otros marcos como se especifica en las propiedades del proyecto. Esto debe agregarse justo antes de la primera etiqueta en el archivo

      AnyCPU  . . .  . . . 
  8. Guarde sus cambios y cierre el archivo *.csproj .

  9. Recargue su proyecto (haga clic derecho -> Recargar proyecto).

  10. En el administrador de configuración (Build -> Configuration Manager), asegúrese de que la plataforma “.NET 4.5” esté seleccionada para su proyecto.

  11. Aún en el administrador de configuración, cree una nueva plataforma de solución para “.NET 4.5” (puede basarla en “Cualquier CPU”) y asegúrese de seleccionar “.NET 4.5” para la solución.

  12. Crea tu proyecto y busca errores.

  13. Asumiendo que la comstackción se completó, puedes verificar que realmente estás apuntando a 4.5 agregando una referencia a una clase específica de 4.5 a tu código fuente:

     using System; using System.Text; namespace testing { using net45check = System.Reflection.ReflectionContext; } 
  14. Cuando comstack utilizando la plataforma “.NET 4.5”, la comstackción debe tener éxito. Cuando comstack bajo la plataforma “Any CPU”, debería obtener un error de comstackción:

     Error 6: The type or namespace name 'ReflectionContext' does not exist in the namespace 'System.Reflection' (are you missing an assembly reference?) 

Para su información, si desea crear un paquete de instalación en VS2010, desafortunadamente solo apunta a .NET 4. Para evitar esto, debe agregar NET 4.5 como condición de inicio.

Agregue lo siguiente en las condiciones de inicio del instalador (haga clic con el botón derecho, vea, inicie condiciones).

En “Buscar máquina de destino”, haga clic con el botón derecho y seleccione “Agregar búsqueda de registro”.

 Property: REGISTRYVALUE1 RegKey: Software\Microsoft\NET Framework Setup\NDP\v4\Full Root: vsdrrHKLM Value: Release 

Agregar nueva “condición de lanzamiento”:

 Condition: REGISTRYVALUE1>="#378389" InstallUrl: http://www.microsoft.com/en-gb/download/details.aspx?id=30653 Message: Setup requires .NET Framework 4.5 to be installed. 

Dónde:

378389 = .NET Framework 4.5

378675 = .NET Framework 4.5.1 instalado con Windows 8.1

378758 = .NET Framework 4.5.1 instalado en Windows 8, Windows 7 SP1 o Windows Vista SP2

379893 = .NET Framework 4.5.2

Referencia de condición de inicio: http://msdn.microsoft.com/en-us/library/vstudio/xxyh2e6a(v=vs.100).aspx

He estado luchando con la integración de VS2010 / DNFW 4.5 y finalmente he conseguido que funcione. A partir de VS 2008, se introdujo un caché de ensamblados que Visual Studio utiliza como “Conjuntos referenciados”. Este caché de archivos para VS 2010 se encuentra en \ Assemblies \ Microsoft \ Framework.NetFramework \ v4.0 de referencia. Visual Studio carga ensamblajes de marco desde esta ubicación en lugar de desde el directorio de instalación de marco. Cuando Microsoft dice que VS 2010 no es compatible con DNFW 4.5, lo que quieren decir es que este directorio no se actualiza cuando se instala DNFW 4.5. Una vez que haya reemplazado los archivos en esta ubicación con los archivos actualizados de DNFW 4.5, encontrará que VS 2010 funcionará felizmente con DNFW 4.5.

De otra búsqueda ¡Trabajó para mi!

“Puede usar Visual Studio 2010 y lo admite, siempre que su sistema operativo sea compatible con .NET 4.5.

Haga clic derecho en su solución para agregar una referencia (como lo hace). Cuando aparezca el cuadro de diálogo, seleccione examinar, luego navegue a la siguiente carpeta:

C: \ Archivos de progtwig (x86) \ Conjuntos de referencia \ Microsoft \ Framework \ .Net Framework \ 4.5

Lo encontrarás allí “.