Ho provato a cambiare il Target Framework nella mia app di recente da .NET Framework 4.5 a 4.5.2, ma se lo faccio ottengo il seguente errore quando provo a compilare: " 'Forms' non è un membro di 'Windows' "(ovvero, System.Windows.Forms
). Il passaggio alla 4.5.1 funziona normalmente. Sto usando Visual Studio 2013 Ultimate.'Forms' non è un membro di 'Windows'
risposta
Ho avuto questo errore quando si passa a 4.5.2.
Nel mio caso l'errore era correlato a un MessageBox ... Ho sostituito: "Windows.Forms.DialogResult.Yes" (che ha causato lo stesso messaggio di errore) con "System.Windows.Forms.DialogResult.Yes" che ha fatto il trucco
Non funziona su 4.6.1 – Jim
Ho avuto lo stesso problema, anche io con i valori di enumerazione Windows.Forms.DialogResult
.
Il progetto importa automaticamente System
e System.Windows.Forms
spazi dei nomi e ha funzionato fino a 4.5.1
.
In 4.5.2
ho dovuto togliere Windows.Forms.
e lasciare solo DialogResult.Ok
(o qualsiasi altra cosa) nel mio codice, sembra essere un problema con risoluzione di spazi dei nomi.
Non funziona su 4.6.1 – Jim
Assicurarsi di aggiungere System
davanti allo Windows.Form
.
Alcuni chiarimenti dei passaggi sarebbero utili qui. –
Mi sono imbattuto in questo con un'applicazione ancora indirizzata a .NET 4.0, dove non è riuscita su un (nuovo) build server, ma è stata eseguita su quelli più vecchi.
L'ho ristretto a .NET 4.0 Targeting Pack solo installato sui vecchi server di compilazione. Il pacchetto di targeting è incluso in Visual Studio o nell'SDK di Windows 7.1. È per qualche motivo non distribuito separatamente, e con support ending for .NET 4, 4.5 and 4.5.1, non ho il sospetto che sia probabile che cambi. Poiché i miei server più vecchi sono in giro da un paio d'anni, hanno subito aggiornamenti sul posto e il pacchetto di targeting era già disponibile.
Quando si installa Windows 7.1 SDK su Server 2012R2, si lamenta qualcosa dell'effetto di "Una versione preliminare di .NET 4 è installata, installare la versione RTM". Per quanto posso dire, è semplicemente perché è installata una versione più recente) - Server 2012R2 viene fornito con 4.5.1. Ho provato a disinstallare tutte le versioni più recenti, ma non sono riuscito a ottenere l'SDK per installare il pacchetto di targeting.
quindi per installarlo:
- Scarica il Windows 7.1 SDK ISO image
- decomprimerlo
- Run
Setup\MTPack\netfx_dtp.msi EXTUI=1
Si dovrebbe ora avere una cartella %programfiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\
con la roba 4.0.
(EXTUI = 1 ignora la limitazione che non può essere installed separately).
Questo mi ha permesso di compilare progetti ancora con il targeting 4.0 (o di ricostruire vecchie revisioni/rami che lo avevano bersagliato in quel momento).
4.5.2? È una beta o una RC? – Tim
No, è una versione ufficiale, 4 giorni fa. –