Compartir a través de


Cómo: Usar ClickOnce para implementar aplicaciones que se pueden ejecutar en varias versiones de .NET Framework

Puede implementar una aplicación destinada a varias versiones de .NET Framework gracias a la tecnología de implementación ClickOnce. Para ello, es preciso generar y actualizar los manifiestos de implementación y aplicación.

Nota

Antes de cambiar la aplicación para destinarla a varias versiones de .NET Framework, debe asegurarse de que se ejecute con varias versiones de .NET Framework. La versión de Common Language Runtime varía entre .NET Framework 4 y .NET Framework 2.0, .NET Framework 3.0 y .NET Framework 3.5.

Este proceso exige los pasos siguientes:

  1. Generar los manifiestos de aplicación e implementación.

  2. Cambiar el manifiesto de implementación de modo que incluya una lista de las diversas versiones de .NET Framework.

  3. Cambiar el archivo app.config de modo que incluya una lista de versiones compatibles del runtime de .NET Framework.

  4. Cambiar el manifiesto de aplicación a fin de marcar los ensamblados dependientes como ensamblados de .NET Framework.

  5. Firmar el manifiesto de aplicación.

  6. Actualizar y firmar el manifiesto de implementación.

Para generar los manifiestos de aplicación e implementación

Para cambiar el manifiesto de implementación de modo que incluya una lista de las diversas versiones de .NET Framework

  1. En el directorio de publicación, abra el manifiesto de implementación mediante el Editor XML de Visual Studio. El manifiesto de implementación tiene la extensión de nombre de archivo .application.

  2. Reemplace el código XML que figura entre los elementos </compatibleFrameworks> y <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> por un XML con la lista de versiones de .NET Framework compatibles con su aplicación.

    En la siguiente tabla se muestran algunas de las versiones de .NET Framework disponibles y el XML correspondiente que puede agregar al manifiesto de implementación.

    Versión de .NET Framework

    XML

    4 Client

    <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />

    4 (Versión completa)

    <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />

    3.5 Client

    <framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" />

    3.5 (Versión completa)

    <framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" />

    3.0

    <framework targetVersion="3.0" supportedRuntime="2.0.50727" />

Para cambiar el archivo app.config de modo que incluya una lista de versiones compatibles del runtime de .NET Framework

  1. En el Explorador de soluciones, abra el archivo App.config mediante el Editor XML de Visual Studio.

  2. Reemplace (o agregue) el código XML que figura entre los elementos </startup> y <startup> por un XML con la lista de runtimes de .NET Framework compatibles con su aplicación.

    En la siguiente tabla se muestran algunas de las versiones de .NET Framework disponibles y el XML correspondiente que puede agregar al manifiesto de implementación.

    Versión de runtime de .NET Framework

    XML

    4 Client

    <supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" />

    4 (Versión completa)

    <supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />

    3.5 (Versión completa)

    <supportedRuntime version="v2.0.50727"/>

    3.5 Client

    <supportedRuntime version="v2.0.50727" sku="Client"/>

Para cambiar el manifiesto de aplicación a fin de marcar los ensamblados dependientes como ensamblados de .NET Framework

  1. En el directorio de publicación, abra el manifiesto de aplicación mediante el Editor XML de Visual Studio. El manifiesto de implementación tiene la extensión de nombre de archivo .manifest.

  2. Agregue group="framework" al XML de dependencia para los ensamblados de centinela (System.Core, WindowsBase, Sentinel.v3.5Client y System.Data.Entity). Por ejemplo, el XML debe tener la apariencia siguiente:

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
    
  3. Actualice el número de versión del elemento <assemblyIdentity> para Microsoft.Windows.CommonLanguageRuntime con el número de versión de .NET Framework que sea el mínimo común denominador. Por ejemplo, si la aplicación está destinada a .NET Framework 3.5 y .NET Framework 4, utilice el número de versión 2.0.50727.0; el XML debería tener la apariencia siguiente:

    <dependency>
      <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
        <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" />
      </dependentAssembly>
    </dependency>
    

Para actualizar y volver a firmar los manifiestos de aplicación e implementación

Vea también

Referencia

Elemento <compatibleFrameworks> (Implementación ClickOnce)

Elemento <dependency> (Aplicación ClickOnce)

Manifiesto de la implementación ClickOnce

Conceptos

Publicar aplicaciones ClickOnce

Otros recursos

Esquema de los archivos de configuración de .NET Framework