Pagina avanzate delle proprietà
La pagina delle proprietà Avanzate è disponibile in Visual Studio 2019 e versioni successive. Per visualizzare la documentazione per tale versione, impostare il controllo selettore della versione di Visual Studio per questo articolo su Visual Studio 2019 o versione successiva. Si trova nella parte superiore del sommario in questa pagina. Nelle versioni precedenti di Visual Studio queste proprietà vengono visualizzate nella pagina delle proprietà Generale:
La pagina delle proprietà Avanzate è disponibile in Visual Studio 2019 e versioni successive. Le proprietà specifiche visualizzate dipendono dal tipo di progetto. I progetti Windows Runtime (piattaforma UWP (Universal Windows Platform) o UWP) non visualizzano questa pagina.
Advanced Properties
Estensione file di destinazione
Specifica l'estensione di file da usare per l'output di compilazione. Il valore predefinito è .exe
per le applicazioni, .lib
per le librerie statiche e .dll
per le DLL.
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.
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 è specificato dalle macro $(IntDir)$(MSBuildProjectName).log
.
È possibile usare macro di progetto per modificare il percorso della directory. Per altre informazioni, vedere Macro comuni per comandi e proprietà di compilazione.
Architettura preferita dello strumento di compilazione
Specifica se usare gli strumenti di compilazione x86 o x64.
Usare le librerie di debug
Specifica se creare una build di debug o di rilascio. Nonostante il nome, Usa librerie di debug è una proprietà specifica del sistema di compilazione che è effettivamente abbreviata per "Make a Debug build" o "Make a Release build". Imposta diverse proprietà del compilatore e del linker per le build debug o release, incluse le impostazioni della libreria. È possibile usarlo per creare configurazioni di debug o versione per una nuova piattaforma o in un nuovo modello. Non è consigliabile modificare questa proprietà in una configurazione esistente. Usare invece le singole proprietà del compilatore e del linker.
Abilitare la compilazione di Unity (JUMBO)
Consente un processo di compilazione più veloce che combina molti file di origine C++ in uno o più file prima della compilazione. Questi file combinati sono noti come file unity . Non sono correlati al motore di gioco unity.
Copiare contenuto in OutDir
Copiare gli elementi contrassegnati come contenuto nel progetto nella directory di output del progetto ($(OutDir)
). Questa impostazione può semplificare la distribuzione. Questa proprietà è disponibile a partire da Visual Studio 2019 versione 16.7.
Copiare i riferimenti al progetto in OutDir
Copiare gli elementi di riferimento del progetto eseguibile (FILE DLL e EXE) nella directory di output del progetto ($(OutDir)
). Nei progetti C++/CLI (/clr
) questa proprietà viene ignorata. Al contrario, la proprietà Copy Local in ogni riferimento al progetto controlla se viene copiata nella directory di output. Questa impostazione può semplificare la distribuzione locale. È disponibile a partire da Visual Studio 2019 versione 16.7.
Copiare i simboli dei riferimenti al progetto in OutDir
Copiare i file PDB per gli elementi di riferimento del progetto insieme agli elementi eseguibili di riferimento del progetto nella directory di output del progetto ($(OutDir)
). Questa proprietà è sempre abilitata per i progetti C++/CLI. Questa impostazione può semplificare la distribuzione di debug. È disponibile a partire da Visual Studio 2019 versione 16.7.
Copiare il runtime C++ in OutDir
Copiare le DLL di runtime nella directory di output del progetto ($(OutDir)
). Questa impostazione può semplificare la distribuzione locale. È disponibile a partire da Visual Studio 2019 versione 16.7.
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.
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.
Per accedere a livello di codice a questa proprietà, vedere CharacterSet.
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.
Versione del set di strumenti MSVC
Specifica la versione completa del set di strumenti MSVC usato per compilare il progetto. È possibile che siano installate diverse versioni di aggiornamento e anteprima di un set di strumenti. È possibile specificare quale usare qui.
Versione del set di strumenti LLVM
Specifica la versione completa del set di strumenti LLVM usato per compilare il progetto. Questa proprietà è disponibile quando LLVM (clang-cl) è selezionato come set di strumenti della piattaforma, a partire da Visual Studio 2019 versione 16.9. Per altre informazioni, vedere Impostare una versione personalizzata del set di strumenti LLVM.
Abilitare l'output strutturato MSVC
Specifica se abilitare l'output SARIF strutturato, che abilita la finestra Dettagli problema e l'output gerarchico nella finestra Output di Visual Studio.
Proprietà C++/CLI
Supporto Common Language Runtime
Fa sì che venga usata l'opzione del /clr
compilatore.
Per accedere a livello di codice a questa proprietà, vedere ManagedExtensions.
Versione di .NET Framework di destinazione
Questa proprietà si applica solo quando la proprietà di supporto di Common Language Runtime è impostata su .NET Framework Runtime Support, ovvero il progetto è destinato a .NET Framework e specifica la versione di .NET Framework.
.NET Target Framework
Questa proprietà si applica solo quando la proprietà di supporto di Common Language Runtime è impostata su .NET Runtime Support, ovvero il progetto è destinato a .NET.
Questa proprietà specifica il moniker del framework di destinazione .NET 5+ destinato a questo progetto, ad esempio net6.0-windows
o net7.0-windows8.0
.
Abilita compilazione incrementale gestita
Per i progetti gestiti, questa opzione abilita 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. Le compilazioni incrementali gestite possono migliorare notevolmente i tempi di compilazione nelle soluzioni che includono progetti gestiti.
Abilitare il supporto CLR per singoli file
Questa opzione imposta una ManagedAssembly
proprietà di compilazione che consente di compilare solo alcuni file nel progetto come codice gestito. È necessario impostare Enable CLR Support for Individual Files (Abilita supporto CLR per singoli file ) su Sì se alcuni file di progetto ma non tutti i file di progetto vengono compilati come codice gestito. Questa proprietà è disponibile solo nei progetti che usano il set di strumenti v143 o versioni successive in Visual Studio 2022 e versioni successive.
Versione di Windows di destinazione .NET
Questa proprietà si applica solo quando la proprietà di supporto di Common Language Runtime è impostata su .NET Runtime Support, ovvero il progetto è destinato a .NET.
Questa proprietà specifica la versione minima di Windows supportata dal progetto. Questo valore viene usato da NuGet per determinare la compatibilità dei progetti e delle dipendenze dei pacchetti NuGet. Se un progetto A dipende dal progetto B, la versione di Windows di destinazione .NET del progetto A deve essere maggiore o uguale a quella del progetto B.