Condividi tramite


Progettazione progetti .NET

Usare il Progettazione progetti per specificare le impostazioni e le proprietà del progetto per .NET Core e .NET 5+. Per .NET Framework, vedere Che cos'è Progettazione progetti .NET?.

Per accedere a Progettazione progetti, scegliere un nodo del progetto (non il nodo soluzione ) in Esplora soluzioni . Scegliere quindi Proprietà>progetto sulla barra dei menu. Viene visualizzato il di Progettazione progetti .

Nota

Il computer potrebbe visualizzare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio in questo articolo. È possibile usare un'edizione diversa di Visual Studio o impostazioni di ambiente diverse. Per altre informazioni, vedere Personalizzare l'IDE.

Applicazione, Impostazioni generali

Le opzioni seguenti consentono di configurare le impostazioni generali per l'applicazione.

tipo di output

Specifica il tipo di applicazione da compilare. I valori sono diversi a seconda del tipo di progetto. Ad esempio, per un progetto di app console, è possibile specificare applicazione Windows, applicazione consoleo libreria di classi come tipo di output.

Per altre informazioni sulla proprietà tipo di output , vedere /target (opzioni del compilatore C#).

Per informazioni su come accedere a questa proprietà a livello di codice, vedere OutputType.

framework di destinazione

Specifica la versione di .NET di destinazione dell'applicazione. Questa opzione può avere valori diversi a seconda delle versioni di .NET installate nel computer.

Per un progetto destinato a .NET Core o .NET 5+, le versioni disponibili potrebbero essere visualizzate come segue:

Screenshot delle versioni del framework di destinazione per un progetto .NET Core in Visual Studio 2022.

Nota

Per le applicazioni ClickOnce, i pacchetti prerequisiti elencati nella finestra di dialogo Prerequisiti vengono impostati automaticamente la prima volta che si apre la finestra di dialogo. Se successivamente si modifica il framework di destinazione del progetto, è necessario selezionare manualmente i prerequisiti in modo che corrispondano al nuovo framework di destinazione.

Per altre informazioni, vedere panoramica della destinazione di Framework.

del sistema operativo di destinazione

Specifica il sistema operativo di destinazione del progetto. In combinazione con il framework di destinazione, viene generato un TF specifico del sistema operativo .NET 5+.

'oggetto Startup

Definisce il punto di ingresso da chiamare quando l'applicazione viene caricata. In genere questa impostazione viene impostata sul modulo principale dell'applicazione o sulla routine Main che deve essere eseguita all'avvio dell'applicazione. Poiché le librerie di classi non hanno un punto di ingresso, l'unica opzione per questa proprietà è (Non impostata).

Per impostazione predefinita, in un progetto di app WPF questa opzione è impostata su (Non impostato). L'altra opzione è [nomeprogetto].App. In un progetto WPF è necessario impostare l'URI di avvio per caricare una risorsa dell'interfaccia utente all'avvio dell'applicazione. A tale scopo, aprire il file application.xaml nel progetto e impostare la proprietà su un file xaml nel progetto, ad esempio Window1.xaml. Per un elenco di elementi radice accettabili, vedere StartupUri. È inoltre necessario definire un metodo public static void Main() in una classe nel progetto. Questa classe verrà visualizzata nell'elenco oggetto Startup come NomeProgetto.ClassName. È quindi possibile selezionare la classe come oggetto di avvio.

Per altre informazioni, vedere /main (opzioni del compilatore C#). Per accedere a questa proprietà a livello di codice, vedere StartupObject.

nome assembly

Specifica il nome del file di output che conterrà il manifesto dell'assembly. La modifica di questa proprietà comporta anche la modifica della proprietà Nome output.

È anche possibile apportare questa modifica dalla riga di comando usando /out (opzioni del compilatore C#).

Per accedere a questa proprietà a livello di codice, vedere AssemblyName.

dello spazio dei nomi predefinito

Specifica lo spazio dei nomi di base per i file aggiunti al progetto.

Per altre informazioni sulla creazione di spazi dei nomi nel codice, vedere spazio dei nomi.

Per accedere a questa proprietà a livello di codice, vedere RootNamespace.

Impostazioni dell'applicazione, risorse Win32

icona

Imposta il file .ico da usare come icona del programma. Fare clic Sfoglia per cercare un elemento grafico esistente oppure digitare il nome del file desiderato. Per altre informazioni, vedere /win32icon (opzioni del compilatore C#).

Per accedere a questa proprietà a livello di codice, vedere ApplicationIcon.

Per informazioni sulla creazione di un'icona, vedere Editor di immagini per le icone.

risorse

L'opzione risorse consente di configurare le impostazioni delle risorse per l'app. Per impostazione predefinita, le opzioni Icona e manifesto sono abilitate. In questo modo è possibile selezionare un'icona personalizzata o selezionare diverse opzioni di generazione del manifesto. Lasciare selezionato questo pulsante di opzione a meno che non si fornisca un file di risorse per il progetto.

Se si seleziona file di risorse, configurare un file di risorse per il progetto. Immettere un nome di percorso o usare il pulsante sfoglia per aggiungere un file di risorse Win32 al progetto. Per altre informazioni, vedere Creare file di risorse per le app .NET.

manifesto

Seleziona un'opzione di generazione del manifesto quando l'applicazione viene eseguita in Windows in Controllo account utente. Questa opzione può avere i valori seguenti:

  • Incorporare il manifesto con le impostazioni predefinite. Supporta il modo tipico in cui Visual Studio opera in Windows, che consiste nell'incorporare informazioni di sicurezza nel file eseguibile dell'applicazione, specificando che requestedExecutionLevel essere AsInvoker. Questa è l'opzione predefinita.

  • Creare un'applicazione senza manifesto. Questo metodo è noto come virtualizzazione. Usare questa opzione per la compatibilità con le applicazioni precedenti.

  • Usare un manifesto personalizzato. Consente di immettere un percorso o passare a un manifesto personalizzato per il progetto.

Impostazioni utilizzo globali

uso globale implicito

Abilita o disabilita global usings, che consentono di usare i tipi definiti in uno spazio dei nomi senza specificare lo spazio dei nomi completo.

Gestire l'uso globale implicito

Aggiungere ed eliminare manualmente gli usi globali da usare nei progetti.

Compilazione, Impostazioni generali

simboli di compilazione condizionale

Specifica i simboli su cui eseguire la compilazione condizionale. Separare i simboli con un punto e virgola (";"). Per altre informazioni, vedere /define (opzioni del compilatore C#).

eseguire il debug di simboli personalizzati

Specifica i simboli per la compilazione condizionale per le compilazioni di debug. I simboli di debug predefiniti vengono visualizzati in una stringa, separati da punti e virgola.

rilasciare simboli personalizzati

Specifica i simboli per la compilazione condizionale per le build di rilascio. I simboli di versione predefiniti vengono visualizzati in una stringa, separati da punti e virgola.

di destinazione della piattaforma

Specifica il processore di destinazione del file di output. Scegliere x86 per qualsiasi processore compatibile con Intel a 32 bit, scegliere x64 per qualsiasi processore compatibile con Intel a 64 bit, scegliere ARM per i processori ARM o scegliere Qualsiasi CPU per specificare che qualsiasi processore sia accettabile. Qualsiasi CPU è il valore predefinito per i progetti, perché consente l'esecuzione dell'applicazione nell'ampia gamma di hardware.

Per altre informazioni, vedere /platform (opzioni del compilatore C#).

Nullable

Specifica il contesto C# nullable a livello di progetto. Questa opzione dell'interfaccia utente è stata introdotta in Visual Studio 16.5 ed è abilitata solo per i progetti che usano C# 8.0 o versione successiva.

Per altre informazioni, vedere Contesti nullable.

Generare informazioni sull'assembly

Specifica se proprietà del progetto correlate al pacchetto vengono trasformate in attributi di assembly. Per altre informazioni, vedere la proprietà GenerateAssemblyInfo .

codice unsafe

Consente la compilazione del codice che usa la parola chiave non sicura . Per altre informazioni, vedere /unsafe (opzioni del compilatore C#).

Ottimizzare il codice

Abilitare o disabilitare le ottimizzazioni eseguite dal compilatore per rendere il file di output più piccolo, più veloce ed efficiente. Per altre informazioni, vedere /optimize (opzioni del compilatore C#).

simboli di debug

Specifica il tipo di informazioni di debug generate dal compilatore. Per informazioni su come configurare le prestazioni di debug di un'applicazione, vedere 'opzione del compilatore DebugType. Questa impostazione include le opzioni seguenti:

  • nessuna

    Specifica che non verranno generate informazioni di debug.

  • completa

    Abilita il collegamento di un debugger al programma in esecuzione.

  • pdbonly

    Consente il debug del codice sorgente all'avvio del programma nel debugger, ma visualizzerà l'assembler solo quando il programma in esecuzione è collegato al debugger.

  • portabile

    Produce un oggetto . File PDB, un file di simboli portabile e non specifico della piattaforma che fornisce altri strumenti, in particolare i debugger, informazioni su ciò che si trova nel file eseguibile principale e su come è stato prodotto. Per altre informazioni, vedere PDB portabile.

  • incorporata

    Incorpora le informazioni sui simboli portabili nell'assembly. Nessun oggetto esterno. Viene generato il file PDB.

Per altre informazioni, vedere /debug (opzioni del compilatore C#).

Impostazioni di compilazione, errori e avvisi

Le impostazioni seguenti vengono usate per configurare le opzioni di errore e avviso per il processo di compilazione.

livello di avviso

Specifica il livello da visualizzare per gli avvisi del compilatore. Per altre informazioni, vedere /warn (opzioni del compilatore C#).

Eliminare avvisi specifici

Blocca la capacità del compilatore di generare uno o più avvisi specifici. Separare più numeri di avviso con una virgola o un punto e virgola. Per altre informazioni, vedere /nowarn (opzioni del compilatore C#).

Considerare gli avvisi come errori

Consente di specificare se gli avvisi vengono considerati come errori durante il processo di compilazione. Per altre informazioni, vedere /warnaserror (opzioni del compilatore C#).

Considerare avvisi specifici come errori

Specificare gli avvisi considerati come errori. Separare più numeri di avviso con una virgola o un punto e virgola.

Mancia

Se non si desidera che gli avvisi di analisi del codice vengano considerati come errori, vedere Domande frequenti di analisi del codice.

Impostazioni di compilazione, output

Le impostazioni seguenti vengono usate per configurare le opzioni di output per il processo di compilazione.

percorso di output di base

Specifica il percorso dei file di output per la configurazione del progetto. Immettere il percorso dell'output di compilazione in questa casella oppure scegliere il pulsante sfoglia per specificare un percorso. Il percorso è relativo; se si immette un percorso assoluto, verrà salvato come relativo. Il percorso predefinito è bin\Debug o bin\Release\.

Con configurazioni di compilazione semplificate, il sistema di progetto determina se compilare una versione di debug o versione. Il comando Compila dal menu debug (F5) inserisce la compilazione nel percorso di debug indipendentemente dal percorso di output specificato. Tuttavia, il comando build dal menu Compila lo inserisce nel percorso specificato. Per altre informazioni, vedere Informazioni sulle configurazioni di compilazione.

assembly di riferimento

Specifica se generare un assembly di riferimento contenente l'API pubblica del progetto.

file di documentazione

Specifica il nome di un file in cui verranno elaborati i commenti della documentazione. Per altre informazioni, vedere /doc (opzioni del compilatore C#).

Impostazioni di compilazione, eventi

Per informazioni sulle impostazioni degli eventi di compilazione, vedere Specificare gli eventi di compilazione (C#).

Impostazioni di compilazione, pubblicazione

pubblicazione

Consente l'esecuzione della destinazione di pubblicazione di MSBuild. Per altre informazioni, vedere la proprietà isPublishable di MSBuild .

Pubblica tagliato

Specifica se il taglio è abilitato durante il processo di pubblicazione. Per altre informazioni, vedere proprietà correlate a trim.

Publish native AOT

Specifica se produrre un'app autonoma e compilata in anticipo nel codice nativo. Per altre informazioni, vedere distribuzione AOT nativa.

Impostazioni di compilazione, denominazione avanzata

Firmare l'assembly

Selezionare questa casella di controllo per firmare l'assembly e creare un file di chiave con nome sicuro. Per altre informazioni sulla firma dell'assembly tramiteProgettazione progetti di , vedere Procedura: Firmare un assembly (Visual Studio). Per altre informazioni, vedere assembly con nome sicuro.

Questa opzione usa lo strumento Al.exe fornito da Windows Software Development Kit (SDK) per firmare l'assembly. Per altre informazioni su Al.exe, vedere Procedura: Firmare un assembly con un nome sicuro.

elenco di file di chiave con nome sicuro

Consente di specificare un file di chiave con nome sicuro nuovo o esistente utilizzato per firmare l'assembly. Selezionare <Sfoglia...> per selezionare un file di chiave esistente.

segno ritardo solo

Selezionare questa casella di controllo per abilitare la firma ritardata. Per altre informazioni, vedere Firma ritardata di un assembly.

Si noti che un progetto con firma ritardata non verrà eseguito e non può essere sottoposto a debug. È tuttavia possibile usare il Sn.exe (Strumento nome sicuro) con l'opzione per ignorare la verifica durante lo sviluppo.

Nota

Quando si firma un assembly, è possibile che non si abbia sempre accesso a una chiave privata. Ad esempio, un'organizzazione potrebbe avere una coppia di chiavi attentamente sorvegliata a cui gli sviluppatori non hanno accesso su base giornaliera. La chiave pubblica potrebbe essere disponibile, ma l'accesso alla chiave privata è limitato ad alcuni utenti. In questo caso, è possibile usare ritardato o firma parziale per fornire la chiave pubblica, rinviando l'aggiunta della chiave privata fino alla consegna dell'assembly.

Impostazioni avanzate di compilazione

Le opzioni seguenti consentono di impostare impostazioni di compilazione avanzate.

lingua

Collegamenti a /langversion (opzioni del compilatore C#), che fornisce informazioni su come viene scelta una versione del linguaggio predefinita in base al framework di destinazione di un progetto.

Verificare la presenza di overflow aritmetici

Specifica se un'istruzione aritmetica integer non rientra nell'ambito del controllato o parole chiave deselezionate e che restituisce un valore non compreso nell'intervallo del tipo di dati genererà un'eccezione di runtime. Per altre informazioni, vedere /checked (opzioni del compilatore C#).

deterministico

Specifica se produrre un output equivalente di byte per byte dalla stessa origine di input. Per altre informazioni, vedere Opzioni del compilatore C# che controllano la generazione del codice.

segnalazione errori interni del compilatore

Specifica se segnalare gli errori del compilatore a Microsoft. Se impostato su prompt (impostazione predefinita), si riceverà un prompt se si verifica un errore interno del compilatore, offrendo la possibilità di inviare una segnalazione degli errori elettronicamente a Microsoft. Se impostato su inviare, verrà inviata automaticamente una segnalazione errori. Se impostato su coda, le segnalazioni degli errori verranno accodate. Se impostato su nessuna, l'errore verrà segnalato solo nell'output di testo del compilatore. Per altre informazioni, vedere /errorreport (opzioni del compilatore C#).

allineamento file

Specifica le dimensioni delle sezioni nel file di output. I valori validi sono 512, 1024, 2048, 4096e 8192. Questi valori vengono misurati in byte. Ogni sezione verrà allineata su un limite multiplo di questo valore, che influisce sulle dimensioni del file di output. Per altre informazioni, vedere /filealign (opzioni del compilatore C#).

Pacchetto, Impostazioni generali

Le proprietà di questa sezione vengono usate per configurare i pacchetti, in genere corrispondenti alle proprietà in un file nuGet .nuspec. Per altre informazioni, vedere file con estensione nuspec.

Pacchetto, impostazioni di licenza

di licenza pacchetto

Specifica se includere un'espressione di licenza o un file di licenza nel pacchetto. Per altre informazioni, vedere l'elemento licenza .

Impostazioni pacchetto, simbolo

Produrre un pacchetto di simboli

Specifica se creare un pacchetto di simboli per il debug. Per altre informazioni, vedere Creazione di pacchetti di simboli (con estensione snupkg).

Analisi del codice, Tutte le impostazioni dell'analizzatore

Esegui in fase di compilazione

Specifica se eseguire l'analisi del codice sorgente durante la compilazione del progetto. Per altre informazioni, vedere Disabilitare l'analisi del codice sorgente per .NET.

Esecuzione su di analisi in tempo reale

Specifica se eseguire l'analisi del codice sorgente in tempo reale durante la compilazione del progetto. Per altre informazioni, vedere Disabilitare l'analisi del codice sorgente per .NET.

Analisi del codice, impostazioni dell'analizzatore .NET

Applicare lo stile del codice al di compilazione

Specifica se vengono segnalate violazioni dello stile di codice .NET durante la compilazione del progetto. Per altre informazioni, vedere Applicare gli stili di codice alla compilazione.

Abilitare gli analizzatori .NET

Abilita o disabilita gli analizzatori della piattaforma del compilatore .NET (Roslyn). Per altre informazioni, vedere Abilitare o installare analizzatori .NET di prima parte.

livello di analisi

Specifica il set di analizzatori da eseguire nel progetto. Per altre informazioni, vedere sezione Aggiornamenti più recenti nell'articolo panoramica dell'analisi del codice.

Debug, Impostazioni generali

Selezionare il collegamento per aprire l'interfaccia utente dei profili di avvio di debug. Questa interfaccia utente consente di aggiungere e configurare profili diversi da usare durante il debug. Ogni nome del profilo viene visualizzato come opzione di avvio nell'elenco Avvia debug.

Per ASP.NET progetti Core, le impostazioni nell'interfaccia utente dei profili di avvio corrispondono alle impostazioni nel file di launchSettings.json del progetto. Per informazioni dettagliate sull'uso di questo file nello sviluppo di ASP.NET, vedere Sviluppo e launchSettings.json.

Risorse, Impostazioni generali

Selezionare il collegamento per aprire il file delle risorse dell'assembly RESX. Per altre informazioni, vedere pagina Impostazioni, Progettazione progetti.

Vedere anche

'interfaccia utente delle proprietà del progetto rinnovate