Pagina delle proprietà Generale (Progetto)
Questo articolo si applica ai progetti di Visual Studio per Windows. Per i progetti Linux, vedere Informazioni di riferimento sulla pagina delle proprietà di Linux C++. Per i progetti CMake, vedere Progetti CMake in Visual Studio. Per i progetti Android, vedere Proprietà generali del progetto (Android C++). Per i progetti Makefile Android, vedere Proprietà generali del progetto (Makefile Android C++). In Visual Studio 2019 alcune proprietà per i progetti non UWP (Windows Runtime o piattaforma UWP (Universal Windows Platform)) sono state spostate nella pagina delle proprietà Avanzate.
Per aprire la finestra di dialogo Pagine delle proprietà per un progetto, selezionare il progetto (non la soluzione) in Esplora soluzioni. Selezionare quindi il menu Project Project-name>Properties (Proprietà nome progetto) dalla barra dei menu. In alternativa, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e scegliere Proprietà dal menu di scelta rapida.
Nella finestra di dialogo Pagine delle proprietà della finestra di dialogo Proprietà>di configurazione generale vengono visualizzate le proprietà del progetto in base al tipo di progetto. Queste proprietà vengono raccolte in una o due intestazioni, a seconda del tipo di progetto:
Generali
Impostazioni predefinite progetto
Generali
L'intestazione della proprietà Generale include una combinazione di queste proprietà:
Piattaforma di destinazione
Specifica la piattaforma in cui viene eseguito il progetto. Ad esempio, Windows, Android o iOS. Il valore Windows 10 indica che il progetto è destinato alla piattaforma UWP (Universal Windows Platform). Se hai come destinazione altre versioni di Windows, la versione non è elencata e il valore in questo campo viene visualizzato come solo Windows. Questa proprietà è un campo di sola lettura impostato quando si crea un progetto.
Versione piattaforma di destinazione
Specifica la versione di Windows SDK usata per compilare il progetto. Questa proprietà viene visualizzata solo se il tipo di progetto lo supporta. È possibile selezionare 10.0 per specificare la versione più recente di Windows SDK. Se l'app può sfruttare le funzionalità di questa versione di Windows SDK, ma può comunque essere eseguita in versioni precedenti senza tali funzionalità, ad esempio con una perdita di funzionalità, il valore di questa proprietà e la proprietà Versione minima piattaforma di destinazione potrebbero essere diversi. In tal caso, il codice deve controllare la versione della piattaforma su cui è in esecuzione e disabilitare le funzionalità non disponibili nelle versioni precedenti della piattaforma.
Target Platform Min. Versione
Specifica la versione minima della piattaforma su cui può essere eseguito il progetto. Questa proprietà viene visualizzata solo se il tipo di progetto lo supporta. Impostare questo valore se l'app può sfruttare le funzionalità in una versione più recente di Windows SDK, ma viene comunque eseguita nelle versioni precedenti, ad esempio con una perdita di funzionalità. Se impostato su un valore inferiore, il codice deve controllare la versione della piattaforma su cui è in esecuzione in fase di esecuzione. Disabilitare quindi le funzionalità non disponibili nelle versioni precedenti della piattaforma.
Il sistema di progetto C++ non applica questa opzione. È incluso per coerenza con altri linguaggi, ad esempio C# e JavaScript, e come guida per chiunque usi il progetto. Microsoft C++ non genererà un errore se si usa una funzionalità non disponibile nella versione minima.
Versione di Windows SDK
Per la piattaforma di destinazione Windows, questa proprietà specifica la versione di Windows SDK richiesta dal progetto. Quando il Programma di installazione di Visual Studio installa un carico di lavoro C++, installa anche le parti necessarie di Windows SDK. Se nel computer sono presenti altre versioni di Windows SDK, ogni versione installata viene visualizzata nell'elenco a discesa.
Per sviluppare il progetto per Windows 7 o Windows Vista, usare il valore 8.1, perché Windows SDK 8.1 è compatibile con le versioni precedenti di queste piattaforme. Quando si usa una versione precedente, definire il valore appropriato per _WIN32_WINNT
in targetver.h
. For Windows 7, il valore è 0x0601. Per altre informazioni, vedere Modifica di WINVER
e _WIN32_WINNT
.
È possibile installare il set di strumenti della piattaforma Windows XP incluso come componente facoltativo in Programma di installazione di Visual Studio per compilare progetti Windows XP e Windows 2003 Server. Per informazioni su come ottenere e usare questo set di strumenti della piattaforma, vedere Configurazione dei programmi per Windows XP. Per altre informazioni sulla modifica del set di strumenti della piattaforma, vedere Procedura: Modificare il framework di destinazione e il set di strumenti della piattaforma.
directory di destinazione
Specifica la directory in cui gli strumenti di compilazione, ad esempio il linker, inseriscono tutti i file di output finali creati durante il processo di compilazione. In genere, questa directory contiene l'output degli strumenti, ad esempio il linker, la bibliotecaria o BSCMake. Per impostazione predefinita, questa proprietà è la directory specificata dalla combinazione $(SolutionDir)$(Configuration)\
di macro .
Per accedere a livello di codice a questa proprietà, vedere OutputDirectory.
Directory intermedia
Specifica la directory in cui gli strumenti, ad esempio il compilatore, inseriscono tutti i file intermedi creati durante il processo di compilazione. In genere, questa directory contiene l'output degli strumenti, ad esempio il compilatore C/C++, MIDL e il compilatore di risorse. Per impostazione predefinita, questa proprietà è la directory specificata dalla macro $(Configuration)\
.
Per accedere a livello di codice a questa proprietà, vedere IntermediateDirectory.
Nome destinazione
Specifica il nome file generato dal progetto. Per impostazione predefinita, questa proprietà è il nome file specificato dalla macro $(ProjectName)
.
Estensione di destinazione
Specifica l'estensione di file generata dal progetto, ad esempio .exe
o .dll
. Per alcuni tipi di progetto di Visual Studio 2019, questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Estensioni da eliminare durante la pulitura
Il comando di menu Compila>pulisci elimina i file dalla directory intermedia in cui viene compilata la configurazione di un progetto. Il sistema di compilazione elimina i file con le estensioni specificate quando si esegue il comando Clean o quando si ricompila. Il sistema di compilazione elimina anche qualsiasi output noto della compilazione indipendentemente dalla posizione in cui si trova. I file eliminati includono tutti gli output intermedi, ad .obj
esempio i file. Usare i punti e virgola (;
) per separare le estensioni. È possibile specificare caratteri jolly (*
, ?
) nelle estensioni.
Per accedere a livello di codice a questa proprietà, vedere DeleteExtensionsOnClean. Per alcuni tipi di progetto di Visual Studio 2019, questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
File del log di compilazione
Consente di specificare un percorso non predefinito per il file di log creato ogni volta che si compila un progetto. Il percorso predefinito viene specificato dalla combinazione $(IntDir)$(MSBuildProjectName).log
di macro . Per alcuni tipi di progetto di Visual Studio 2019, questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
È possibile usare macro di progetto per modificare il percorso della directory. Per altre informazioni, vedere Macro comuni per comandi e proprietà di compilazione.
Set di strumenti della piattaforma
Specifica il set di strumenti utilizzato per la compilazione della configurazione corrente. Questa proprietà consente al progetto di usare una versione diversa delle librerie e del compilatore di Visual C++. Per impostazione predefinita, i progetti Visual Studio C++ hanno come destinazione il set di strumenti più recente installato da Visual Studio. È possibile scegliere uno dei set di strumenti installati da diverse versioni precedenti di Visual Studio. Alcuni set di strumenti meno recenti possono creare file eseguibili eseguiti in Windows XP o Vista. Per altre informazioni su come modificare il set di strumenti della piattaforma, vedere Procedura: Modificare il framework di destinazione e il set di strumenti della piattaforma.
Abilita compilazione incrementale gestita
Per i progetti gestiti, questa proprietà consente il rilevamento della visibilità esterna quando si generano assembly. Se una modifica a un progetto gestito non è visibile ad altri progetti, i progetti dipendenti non vengono ricompilati. Questa opzione può migliorare notevolmente i tempi di compilazione nelle soluzioni che includono progetti gestiti. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Tipo configurazione
Specifica l'output del progetto e i relativi strumenti necessari. Nei progetti UWP questa proprietà viene visualizzata sotto l'intestazione Progetti predefiniti. Esistono diversi tipi di configurazione tra cui scegliere, a seconda del tipo di progetto:
Applicazione (.exe)
Visualizza il set di strumenti del linker: compilatore C/C++, MIDL, compilatore di risorse, linker, BSCMake, generatore proxy servizio Web XML, compilazione personalizzata, precompilazione, prelink ed eventi postbuild.
Libreria dinamica (.dll)
Visualizza il set di strumenti del linker, specifica l'opzione /DLL
del linker e aggiunge la definizione del _WINDLL
preprocessore alla riga di comando CL.
Makefile
Visualizza il set di strumenti makefile (NMake).
Libreria statica (.lib)
Visualizza il set di strumenti bibliotecari. È uguale al set di strumenti del linker, ad eccezione del fatto che sostituisce il linker con il bibliotecario e omette il generatore di proxy del servizio Web XML.
Utilità
Visualizza il set di strumenti dell'utilità (MIDL, compilazione personalizzata, precompilazione ed eventi post-compilazione).
Per accedere a livello di codice a questa proprietà, vedere ConfigurationType.
Standard del linguaggio C++
Specifica lo standard del linguaggio C++ da usare. Il valore predefinito è /std:c++14
. Specificare /std:c++17
di usare le funzionalità C++17, /std:c++20
per usare le funzionalità C++20 e /std:c++latest
per usare le funzionalità di C++23 proposte o altre funzionalità sperimentali. Per altre informazioni, vedere /std
(Specificare la versione standard della lingua) .
Standard del linguaggio C
Specifica lo standard del linguaggio C da usare. Il valore predefinito è Legacy MSVC, che implementa C89, alcune delle estensioni C99 e specifiche di Microsoft. Specificare /std:c11
di usare le funzionalità C11 e /std:c17
di usare le funzionalità C17. Per altre informazioni, vedere /std
(Specificare la versione standard della lingua)
Impostazioni predefinite progetto
Tipo configurazione
Specifica l'output del progetto e i relativi strumenti necessari. Nei progetti UWP questa proprietà viene visualizzata sotto l'intestazione Progetti predefiniti. Esistono diversi tipi di configurazione tra cui scegliere, a seconda del tipo di progetto:
Applicazione (.exe)
Visualizza il set di strumenti del linker: compilatore C/C++, MIDL, compilatore di risorse, linker, BSCMake, generatore proxy servizio Web XML, compilazione personalizzata, precompilazione, prelink ed eventi postbuild.
Libreria dinamica (.dll)
Visualizza il set di strumenti del linker, specifica l'opzione /DLL
del linker e aggiunge la definizione del _WINDLL
preprocessore alla riga di comando CL.
Makefile
Visualizza il set di strumenti makefile (NMake).
Libreria statica (.lib)
Visualizza il set di strumenti bibliotecari. È uguale al set di strumenti del linker, ad eccezione del fatto che sostituisce il linker con il bibliotecario e omette il generatore di proxy del servizio Web XML.
Utilità
Visualizza il set di strumenti dell'utilità (MIDL, compilazione personalizzata, precompilazione ed eventi post-compilazione).
Per accedere a livello di codice a questa proprietà, vedere ConfigurationType.
Uso di MFC
Specifica se il progetto MFC è collegato in modo statico o dinamico alla DLL MFC. Progetti non MFC selezionare Usa librerie Windows standard. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Per accedere a livello di codice a questa proprietà, vedere useOfMfc.
Set di caratteri
Specifica se la _UNICODE
macro del preprocessore o _MBCS
deve essere impostata. Influisce anche sul punto di ingresso del linker, se appropriato. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Per accedere a livello di codice a questa proprietà, vedere CharacterSet.
Supporto Common Language Runtime
Fa sì che venga usata l'opzione del /clr
compilatore. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Per accedere a livello di codice a questa proprietà, vedere ManagedExtensions.
Versione di .NET Framework di destinazione
Nei progetti gestiti specifica la versione di .NET framework di destinazione. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Con ottimizzazione intero programma
Specifica l'opzione del compilatore e /LTCG
l'opzione /GL
del linker. Per impostazione predefinita, questa proprietà è disabilitata per le configurazioni di debug e abilitata per le configurazioni di rilascio. Nei progetti di Visual Studio 2019 questa proprietà è stata spostata nella pagina delle proprietà Avanzate.
Supporto app di Windows Store
Specifica se questo progetto supporta app Windows Runtime (piattaforma UWP (Universal Windows Platform) o UWP). Per altre informazioni, vedere /ZW
(Compilazione Windows Runtime) e la documentazione della piattaforma UWP per sviluppatori Windows.
Compatibile con Windows Desktop
Consente all'output di questo progetto Windows Runtime di supportare anche le app desktop. Questa proprietà imposta il <DesktopCompatible>
valore nel file di progetto. La proprietà Compatibile con Windows Desktop è disponibile a partire da Visual Studio 2019 versione 16.9.
Vedi anche
Informazioni di riferimento sulla pagina delle proprietà del progetto C++