Procedura: utilizzare ClickOnce per distribuire applicazioni eseguibili in più versioni di .NET Framework

È possibile distribuire un'applicazione destinata a più versioni di .NET Framework tramite la tecnologia di distribuzione ClickOnce. Ciò richiede che si generino e aggiornino i manifesti dell'applicazione e della distribuzione.

Nota

Prima di modificare l'applicazione in modo che sia destinata a più versioni di .NET Framework, è necessario verificare che l'applicazione venga eseguita con più versioni di .NET Framework. Il Common Language Runtime della versione di .NET Framework 4 è diverso da quello di .NET Framework 2.0, .NET Framework 3.0 e .NET Framework 3.5.

Questo processo richiede l'esecuzione dei passaggi seguenti:

  1. Generare i manifesti dell'applicazione e della distribuzione.

  2. Modificare il manifesto della distribuzione in modo da elencare le diverse versioni di .NET Framework.

  3. Modificare il file app.config in modo da elencare le versioni del runtime di .NET Framework compatibili.

  4. Modificare il manifesto dell'applicazione in modo da contrassegnare gli assembly dipendenti come assembly di .NET Framework.

  5. Firmare il manifesto dell'applicazione.

  6. Aggiornare e firmare il manifesto della distribuzione.

Per generare i manifesti dell'applicazione e della distribuzione

Per modificare il manifesto della distribuzione in modo da elencare le diverse versioni di .NET Framework

  1. Nella directory di pubblicazione aprire il manifesto della distribuzione mediante l'editor XML in Visual Studio. L'estensione di file del manifesto della distribuzione è .application.

  2. Sostituire il codice XML compreso tra gli elementi <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> e </compatibleFrameworks> con codice XML che elenca le versioni di .NET Framework supportate per l'applicazione.

    Nella tabella seguente vengono illustrate alcune delle versioni di .NET Framework disponibili e il codice XML corrispondente che è possibile aggiungere al manifesto della distribuzione.

    Versione di .NET Framework

    XML

    4 client

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

    4 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 completa

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

    3.0

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

Per modificare il file app.config in modo da elencare le versioni del runtime di .NET Framework compatibili

  1. In Esplora soluzioni aprire il file App.config mediante l'editor XML in Visual Studio.

  2. Sostituire (o aggiungere) il codice XML compreso tra gli elementi <startup> e </startup> con codice XML che elenca i runtime di .NET Framework supportati per l'applicazione.

    Nella tabella seguente vengono illustrate alcune delle versioni di .NET Framework disponibili e il codice XML corrispondente che è possibile aggiungere al manifesto della distribuzione.

    Versione del runtime di .NET Framework

    XML

    4 client

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

    4 completa

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

    3.5 completa

    <supportedRuntime version="v2.0.50727"/>

    3.5 client

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

Per modificare il manifesto dell'applicazione in modo da contrassegnare gli assembly dipendenti come assembly di .NET Framework

  1. Nella directory di pubblicazione aprire il manifesto dell'applicazione mediante l'editor XML in Visual Studio. L'estensione di file del manifesto della distribuzione è .manifest.

  2. Aggiungere group="framework" al codice XML della dipendenza per gli assembly sentinel (System.Core, WindowsBase, Sentinel.v3.5Client e System.Data.Entity). Ad esempio, il codice XML potrebbe essere simile al seguente:

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
    
  3. Aggiornare il numero della versione dell'elemento <assemblyIdentity> per Microsoft.Windows.CommonLanguageRuntime al numero della versione di .NET Framework che rappresenta il minimo comune denominatore. Ad esempio, se l'applicazione è destinata a .NET Framework 3.5 e a .NET Framework 4, utilizzare il numero di versione 2.0.50727.0. Il codice XML dovrebbe essere simile al seguente:

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

Per aggiornare e firmare nuovamente i manifesti dell'applicazione e della distribuzione

Vedere anche

Riferimenti

Elemento <compatibleFrameworks> (distribuzione ClickOnce)

Elemento <dependency> (applicazione ClickOnce)

Manifesto di distribuzione ClickOnce

Concetti

Pubblicazione di applicazioni ClickOnce

Altre risorse

Schema dei file di configurazione per .NET Framework