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




.net-4.5 (5)

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.

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


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 programa (x86) \ Conjuntos de referencia \ Microsoft \ Framework \ .Net Framework \ 4.5

Lo encontrarás allí ".


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


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 here : asegúrese de eliminar la extensión ".txt" del nombre del archivo):

    <Project DefaultTargets="Build"
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
        <!-- Change the target framework to 4.5 if using the ".NET 4.5" configuration -->
        <PropertyGroup Condition=" '$(Platform)' == '.NET 4.5' ">
            <DefineConstants Condition="'$(DefineConstants)'==''">
                TARGETTING_FX_4_5
            </DefineConstants>
            <DefineConstants Condition="'$(DefineConstants)'!='' and '$(DefineConstants)'!='TARGETTING_FX_4_5'">
                $(DefineConstants);TARGETTING_FX_4_5
            </DefineConstants>
            <PlatformTarget Condition="'$(PlatformTarget)'!=''"/>
            <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
        </PropertyGroup>
    
        <!-- Import the standard C# targets -->
        <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    
        <!-- Add .NET 4.5 as an available platform -->
        <PropertyGroup>
           <AvailablePlatforms>$(AvailablePlatforms),.NET 4.5</AvailablePlatforms>
        </PropertyGroup>
    </Project>
    
  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

    <!-- Old Import Entry -->
    <!-- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> -->
    
    <!-- New Import Entry -->
    <Import Project="Compile_4_5_CSharp.targets" />
    

    segundo. Cambie la plataforma predeterminada a .NET 4.5

    <!-- Old default platform entry -->
    <!-- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> -->
    
    <!-- New default platform entry -->
    <Platform Condition=" '$(Platform)' == '' ">.NET 4.5</Platform>
    

    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 <ItemGroup> en el archivo

    <PropertyGroup Condition="'$(Platform)' == 'AnyCPU'">
        <PlatformTarget>AnyCPU</PlatformTarget>
    </PropertyGroup>
    
    .
    .
    .
    <ItemGroup>
    .
    .
    .
    
  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 compilació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 compila utilizando la plataforma ".NET 4.5", la compilación debe tener éxito. Cuando compila bajo la plataforma "Any CPU", debería obtener un error de compilación:

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

.Net 4.5 reemplaza .net 4.0 con nuevas bibliotecas con el mismo nombre, que en realidad tienen algunas correcciones. Esa es una respuesta corta.

A diferencia de las versiones anteriores, la actualización de .net 4 a 4.5 reemplaza los archivos, en lugar de agregar archivos uno al lado del otro. Incluso si tiene una carpeta como esta Windows / Microsoft.Net / Framework / v40 /, después de la actualización, hay un cambio en esta carpeta. Los archivos se cambian, algunos errores se manejan en .net sin la preocupación del desarrollador.

¿Cómo apuntar al framework 4.0 usando .net 4.5? Todavía no lo sé, pero todavía estoy cavando

Lectura sugerida sobre este tema:

Scott Hanselman: http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

Rick Strahl: http://weblog.west-wind.com/posts/2012/Mar/13/NET-45-is-an-inplace-replacement-for-NET-40

Y un problema similar, creado por mí: https://.com/questions/26483168/errors-on-net-4-0-dont-appear-on-net-4-5







visual-studio-2010 visual-studio .net-4.5