Abbiamo una DLL C# (chiamiamola myapp.exe
) costruita con .NET 2.0 Framework (VS2005) e abbiamo scoperto che la nostra applicazione non funzionerà su macchine su cui è installato solo .NET 4.0 o versione successiva. Per lasciare che il nostro lavoro di applicazione su .NET 4.0, ho aggiunto le seguenti alcune linee a myapp.exe.config
seguendo questo articolo Installing .NET Framework V4.0 and Running .NET 2.0/3.0/3.5/3.5Sp1 ApplicationsConsenti l'applicazione C# creata con .NET 2.0 per l'esecuzione su .NET 4.0/4.5
<startup>
<supportedRuntime version="v4.0.30319"/>
</startup>
e si sta lavorando.
poi ho visto che questo articolo ha anche citato il seguente (in particolare secondo comma):
Ora, sapevo che non si può semplicemente prendere un 3.5 Service Pack 1 applicazione ed eseguirlo sul V4.0 CLR. È necessario un CLR V2.0 o riconfigurazione con un tag per piegare l'applicazione per l'esecuzione sul CLR V4.0 e tale piegatura potrebbe essere essere qualcosa che non si desidera eseguire.
Ciò che non avevo ancora capito era che l'installazione di .NET 4.0 non installava i bit necessari per un'applicazione 2.0/3.0/3.5/3.5Sp1. Installa solo lo V4.0 CLR e gli assembly V4.0 e non installa ulteriormente l'equivalente di .NET Framework V3.5 Sp1. Quindi, avresti bisogno di installazione (ad esempio) .NET Framework V3.5 Sp1 da soli insieme a .NET 4,0
Dal mio test vorrebbe dire che avrei potuto correre la mia 2.0 applicazione C# su .NET 4.0 con Framework .NET 4.0 (4.0 assembly/libraries) che è in contraddizione con quanto detto dagli articoli.
O mi manca qualcosa qui? Potrebbe essere utile se qualcuno potesse chiarire questo. Microsoft non lo chiarisce affatto.
Installare la versione completa, non il profilo del client. –
non sei sicuro che la versione completa e il profilo del cliente possano fare la differenza qui? – windfly2006
Tutti lo sanno, ma lo snippet precedente deve essere racchiuso in un '' '' -tag per funzionare. –
mhvelplund