Compartir a través de


Especificar una versión de .NET Framework

Mediante un archivo de configuración de la aplicación se pueden especificar las versiones de .NET Framework que admite una aplicación o componente. Es necesario especificar el número de versión y de versión de compilación de cada versión de .NET Framework compatible cuando se utilicen los elementos <supportedRuntime> y <requiredRuntime> en una configuración de la aplicación.

Las reglas de configuración para especificar la versión de .NET Framework que puede utilizar una aplicación son bastante más estrictas en la versión 1.1 de .NET Framework. En las aplicaciones que utilizan la versión 1.0 de .NET Framework, si no estuviera disponible la versión de .NET Framework especificada en el archivo de configuración, se ejecutaría la misma en la versión 1.0 de .NET Framework. En las aplicaciones que utilizan la versión 1.1. de .NET Framework, se debe utilizar el elemento <supportedRuntime> para designar con precisión con qué versión o versiones del motor de tiempo de ejecución es compatible una aplicación. Tenga en cuenta que las aplicaciones creadas con la versión 1.0 de .NET Framework se ejecutan automáticamente con la versión 1.1 a menos que tengan una configuración específica que lo evite.

Nota   El nombre de un archivo de configuración de una aplicación debe incluir el nombre de la aplicación y una extensión .config. Por ejemplo, para una aplicación denominada myExecutable.exe, el nombre del archivo de configuración debería ser myExecutable.exe.config.

Actualmente, se puede especificar que una aplicación que se ejecute en la versión 1.0 y 1.1 de .NET Framework o en las dos.

Especificar la versión 1.1 de .NET Framework

La entrada del archivo de configuración de la aplicación que se muestra en esta sección provoca que una aplicación creada con la versión 1.0 de .NET Framework utilice la versión 1.1 de .NET Framework, en los casos siguientes:

  • Si está instalada la versión 1.1 de .NET Framework.
  • Si están instaladas las versiones 1.0 y 1.1 de .NET Framework.

Si están instaladas las versiones 1.0 y 1.1 de .NET Framework y, posteriormente, se quita la versión 1.1 de .NET Framework, no se ejecutará la aplicación. Si sólo está instalada la versión 1.0, se ejecutará la aplicación porque la versión 1.0 no reconoce el elemento <supportedRuntime> y utilizará la versión del encabezado del archvio PE que señala a la versión 1.0.

En la siguiente ilustración, MyApp y Assembly A contienen referencias estáticas a la versión 1.0 de .NET Framework, mientras que Assembly B contiene una referencia estática a la versión 1.1 de .NET Framework. En este ejemplo, MyApp tiene un archivo de configuración de la aplicación en el que se indica que admite la versión 1.1, por tanto, la aplicación y Ensamblado A se redirigen para utilizar la versión 1.1 de .NET Framework.

Archivo de configuración de la aplicación que redirige el enlace de ensamblados a la versión 1.1

Para especificar una aplicación creada con la versión 1.0 que se ejecute en la versión 1.0 de .NET Framework

  • Introduzca el siguiente código XML en el archivo de configuración de la aplicación:

    <?xml version ="1.0"?>
    <configuration>
    <startup>
       <supportedRuntime version="v1.1.4322" /> 
    </startup>
    </configuration> 
    

Especificar la versión 1.0 de .NET Framework

Para especificar que una aplicación creada con la versión 1.1 de .NET Framework se ejecute en la versión 1.0 de .NET Framework, es necesario incluir una entrada más grande en el archivo de configuración de la aplicación. Todos los ensamblados que forman parte de .NET Framework se deben redirigir a la versión 1.0 de .NET Framework.

La entrada del archivo de configuración de la aplicación que se muestra en esta sección provoca que la aplicación utilice la versión 1.0 de .NET Framework, en los casos siguientes:

  • Si está instalada la versión 1.0 de .NET Framework.
  • Si están instaladas las versiones 1.0 y 1.1 de .NET Framework.

Si sólo está instalada la versión 1.1 de .NET Framework, la aplicación no se ejecuta.

En la siguiente ilustración, MyApp y Assembly A contienen referencias estáticas a la versión 1.0 de .NET Framework, mientras que Assembly B contiene una referencia estática a la versión 1.1 de .NET Framework. En este ejemplo, MyApp tiene un archivo de configuración de la aplicación en el que se indica que la aplicación admite la versión 1.0, por tanto, se redirige Assembly B para que utilice la versión 1.0 de .NET Framework.

Archivo de configuración de la aplicación que redirige el enlace de ensamblados a la versión 1.0

Para especificar una aplicación creada con la versión 1.1 para que se ejecute en la versión 1.0 de .NET Framework

  • Introduzca el siguiente código XML en el archivo de configuración de la aplicación:

    <?xml version ="1.0"?>
    <configuration>
        <startup>
                    <supportedRuntime version="v1.0.3705"  />
        </startup>
        <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
                <dependentAssembly> 
                    <assemblyIdentity name="Regcode" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.EnterpriseServices" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Security" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="CustomMarshalers" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Accessibility" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Configuration.Install" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.DirectoryServices" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Drawing.Design" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.ServiceProcess" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.Services" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Design" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Messaging" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IEExecRemote" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IEHost" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="IIEHost" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="ISymWrapper" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="mscorcfg" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Management" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Runtime.Remoting" publicKeyToken="b77a5c561934e089" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Runtime.Serialization.Formatters.Soap" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="System.Web.Mobile" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.Vsa.Vb.CodeDOMProcessor" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft_VsaVb" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualBasic.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="cscompmgd" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.JScript" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualBasic" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
                <dependentAssembly> 
                    <assemblyIdentity name="Microsoft.VisualC" publicKeyToken="b03f5f7f11d50a3a" culture=""/>
                    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
                </dependentAssembly>
            </assemblyBinding>
        </runtime>
    </configuration> 
    

Vea también

Utilizar ejecución simultánea | Configurar la redirección del enlace de ensamblados | Encontrar información de versión del motor de tiempo de ejecución