19

Ho una grande applicazione che ha come target .NET 4.0.3 che deve essere eseguito su XP. Funziona bene con Visual Studio 2010 SP1 e funziona correttamente su XP.Come faccio a scegliere .NET 4.0.3 su XP usando Visual Studio 2012? L'applicazione non riesce a essere eseguita con "un'applicazione Win32 non valida"

L'utilizzo di Visual Studio 2012 per il targeting .NET 4.0.3 funziona bene e funziona bene su Windows 7, ma non riesce a girare su XP. Ottengo un errore dicendo che MyApp.exe non è un'applicazione Win32 valida.

Come posso continuare a utilizzare .NET 4.0.3 con supporto per macchine XP utilizzando Visual Studio 2012?

+1

Visual Studio 2012 non supporta Windows XP come destinazione senza alcune soluzioni alternative (vedere http://www.microsoft.com/visualstudio/11/en-us/products/compatibility). – Dai

+1

Posso creare un'applicazione .NET 4.0 usando Visual Studio 2012 e funziona bene su XP. Sembra che abbia un problema con .NET 4.0.3. – KTrace

+0

Funziona sulla macchina XP dopo aver installato http://www.microsoft.com/en-gb/download/details.aspx?id=29053? – PhonicUK

risposta

7

Non sono sicuro che funzionerà, ma prova il trucco shown here per impostare manualmente la versione del sottosistema con EditBin.exe.

+0

hey, funziona! Grazie. – Sebastian

+1

In un ambiente VS2012, utilizzare 'editbin.exe" $ (TargetPath) "/SUBSYSTEM:WINDOWS,5.01/OSVERSION: 5.1' – Sebastian

9

Abbiamo anche questo problema. Non è una questione di quale framework la tua applicazione ha come target (stiamo puntando sul client 4.0).

Il problema è che Visual Studio 2012 non produrrà un clic una volta setup.exe che verrà eseguito su XP. L'errore è fuorviante poiché segnala sempre che il programma non è un'applicazione Win32 valida. Lo fa su qualsiasi versione di XP comprese le versioni a 64 bit.

Non è l'applicazione che causa il problema, è il setup.exe prodotto da VS2012. L'unico modo in cui abbiamo trovato di aggirare è pubblicare usando VS2010.

0

VS2012 Update 1 si suppone per risolvere questo problema. Tuttavia, non sono sicuro quali opzioni utilizzare, è Toolset in Proprietà progetto-> Generale-> Piattaforma Toolset?

+1

Questo lo risolve solo per le applicazioni native – Sebastian

+0

Si noti che questo non è proprietà del progetto, ma proprietà della soluzione. – Mark

1

È possibile impostare i requisiti di sistema di destinazione in Proprietà progetto -> Pubblica -> pannello Prerequisiti (VS2012 con Aggiornamento 1). Anche se stai creando .NET 4 (Proprietà progetto -> Applicazione -> Target Framework) dovrai modificare i prerequisiti da 4,5 a 4 poiché non eliminerà automaticamente i requisiti.

Costruire con un obiettivo di 4, ma prereq di 4,5 inizierà il programma di installazione, ma non riescono a controlli di sistema

+0

Grazie per queste informazioni .. risolto il mio problema – gezzuzz

0

Questo ha funzionato per me - solo costruire la vostra soluzione in Studio 2012, e prendere una copia del contenuto della soluzione dalla cartella Debug. Assicurarsi che il client XP abbia installato .net 4.