Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile specificare il percorso dell'output generato dal progetto in base alla configurazione (per il debug, il rilascio o entrambi). Con le impostazioni predefinite, le cartelle di output variano in base al tipo di progetto e all'SDK, con alcuni progetti che usano sottocartelle specifiche della piattaforma o specifiche del framework.
Visual Studio fornisce proprietà che consentono di inserire l'output intermedio e finale nelle cartelle personalizzate specificando i percorsi relativi alla cartella del progetto o un percorso assoluto in qualsiasi punto del file system. Oltre alle impostazioni specificate nelle proprietà del progetto di Visual Studio, è anche possibile personalizzare ulteriormente l'output modificando il file di progetto e usando le funzionalità di MSBuild e .NET SDK per il controllo completo su tutti gli aspetti dell'output del progetto, per singoli progetti o a livello di soluzione per molti progetti.
Modificare la directory di output della compilazione
Pulire il progetto o la soluzione per rimuovere tutti i file di output esistenti (Compilazione>Soluzione pulita).
Per aprire le pagine delle proprietà del progetto, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora Soluzioni e selezionare Proprietà.
Selezionare la scheda appropriata in base al tipo di progetto:
- Per C#, selezionare la scheda Compila.
- Per Visual Basic, selezionare la scheda Compilazione.
- Per C++ o JavaScript, selezionare la scheda Generale.
Nell'elenco a discesa della configurazione in alto scegliere la configurazione il cui percorso del file di output si vuole modificare (Debug, Releaseo Tutte le configurazioni).
Trova la voce del percorso di output nella pagina, varia a seconda del tipo di progetto.
- percorso di output per i progetti C# e JavaScript
- percorso di output di compilazione per i progetti Visual Basic
- Directory di output per i progetti di Visual C++
Digitare il percorso in cui generare l'output (assoluto o relativo alla directory del progetto radice) oppure scegliere Sfoglia per passare a tale cartella.
Nota
Alcuni progetti (.NET e ASP.NET Core) includeranno per impostazione predefinita la versione del framework o l'identificatore di runtime nel percorso di compilazione. Per modificare questa operazione, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni, selezionare Modifica file di progettoe aggiungere quanto segue:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> </PropertyGroup>
Suggerimento
Se l'output non viene generato nel percorso specificato, assicurarsi di compilare la configurazione corrispondente (ad esempio, Debug o Release) selezionandola sulla barra dei menu di Visual Studio.
Compilare in una directory di output comune
Per impostazione predefinita, Visual Studio compila ogni progetto in una soluzione nella propria cartella all'interno della soluzione. È possibile modificare i percorsi di output della compilazione dei progetti per forzare la collocazione di tutti gli output nella stessa cartella.
Per inserire tutti gli output della soluzione in una directory comune
Pulire la soluzione per rimuovere tutti i file di output esistenti (Compilazione>soluzione pulita).
Fare clic su un progetto nella soluzione.
Scegliere Proprietàdal menu Project .
In ogni progetto, a seconda del tipo, selezionare Compila o Compilae impostare il percorso di output o percorso di output di base su una cartella da usare per tutti i progetti della soluzione.
Aprire il file di progetto per il progetto e aggiungere la dichiarazione di proprietà seguente al primo gruppo di proprietà.
<PropertyGroup> <!-- existing property declarations are here --> <UseCommonOutputDirectory>true</UseCommonOutputDirectory> </PropertyGroup>
L'impostazione di
UseCommonOutputDirectory
sutrue
indica a Visual Studio e al relativo motore di compilazione sottostante (MSBuild) di inserire più output di progetto nella stessa cartella e quindi MSBuild omette il passaggio di copia che normalmente si verifica quando i progetti dipendono da altri progetti.Ripetere i passaggi da 2 a 5 per tutti i progetti nella soluzione. È possibile ignorare alcuni progetti se si dispone di alcuni progetti eccezionali che non devono usare la directory di output comune.
Per impostare la directory di output intermedio per un progetto (progetti .NET)
Pulire il progetto per rimuovere eventuali file di output esistenti.
Aprire il file di progetto.
Aggiungere la dichiarazione di proprietà seguente al primo gruppo di proprietà.
<PropertyGroup> <!-- existing property declarations are here --> <IntermediateOutputPath>path</IntermediateOutputPath> </PropertyGroup>
Il percorso è relativo al file di progetto oppure è possibile usare un percorso assoluto. Se si vuole inserire il nome del progetto nel percorso, è possibile farvi riferimento usando le proprietà di MSBuild
$(MSBuildProjectName)
,$(MSBuildProjectDirectory)
. Per altre proprietà che è possibile usare, vedere proprietà riservate e ben note di MSBuild.Visual Studio crea ancora la cartella obj nella cartella del progetto durante la compilazione, ma è vuota. È possibile eliminarlo come parte del processo di compilazione. Un modo per eseguire questa operazione consiste nell'aggiungere un evento di post-compilazione per eseguire il comando seguente:
rd "$(ProjectDir)obj" /s /q
In Visual Studio 2022 sono disponibili diverse interfacce utente di Progettazione progetti, a seconda del tipo di progetto. I progetti .NET Framework usano la finestra di progettazione progetti .NET legacy, ma i progetti .NET Core (e .NET 5 e versioni successive) usano la finestra di progettazione progetti .NET corrente. I progetti C++ utilizzano un'interfaccia utente specifica per le pagine delle proprietà. I passaggi descritti in questa sezione dipendono dallo strumento di progettazione in uso.
Modificare la directory di output del build
- .NET
- .NET Framework
- C++
Questa procedura si applica ai progetti in Visual Studio 2022 destinati a .NET Core o .NET 5 e versioni successive.
Pulire il progetto o la soluzione per rimuovere tutti i file di output esistenti (Compilazione>Soluzione pulita).
Fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e selezionare Proprietà.
Per i progetti C#, espandere la sezione compilazione e scorrere verso il basso fino alla sottosezione output. Per Visual Basic, espandere la sezione compilazione e cercare in Generale.
Trova il percorso di output basee inserisci il percorso in cui generare l'output (assoluto o relativo alla directory del progetto radice), oppure scegli Sfoglia per navigare a tale cartella. Si noti che il nome della configurazione viene aggiunto al percorso di output di base per generare il percorso di output effettivo.
C#:
Visual Basic:
Nota
Alcuni progetti (.NET e ASP.NET Core) includeranno per impostazione predefinita la versione del framework o l'identificatore di runtime nel percorso di output finale. Per modificare questa operazione, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni, selezionare Modifica file di progettoe aggiungere quanto segue:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> </PropertyGroup>
Compila in una cartella di destinazione comune
Per impostazione predefinita, Visual Studio compila ogni progetto in una soluzione nella propria cartella all'interno della soluzione. È possibile modificare i percorsi degli output della compilazione dei progetti per fare in modo che tutti gli output siano inseriti nella stessa cartella.
Pulire la soluzione per rimuovere tutti i file di output esistenti (Build>Pulire la soluzione).
Fare clic su un progetto nella soluzione.
Nel menu Project, cliccare su Proprietà.
In ogni progetto, a seconda del tipo, selezionare Compila o Compilae impostare il percorso di output o percorso di output di base su una cartella da usare per tutti i progetti della soluzione.
Aprire il file di progetto per il progetto e aggiungere la dichiarazione di proprietà seguente al primo gruppo di proprietà.
<PropertyGroup> <!-- existing property declarations are here --> <UseCommonOutputDirectory>true</UseCommonOutputDirectory> </PropertyGroup>
L'impostazione di
UseCommonOutputDirectory
sutrue
indica a Visual Studio e al relativo motore di compilazione sottostante (MSBuild) di inserire più output di progetto nella stessa cartella e quindi MSBuild omette il passaggio di copia che normalmente si verifica quando i progetti dipendono da altri progetti.Ripetere i passaggi da 2 a 5 per tutti i progetti nella soluzione. È possibile ignorare alcuni progetti se si dispone di alcuni progetti eccezionali che non devono usare la directory di output comune.
Mancia
Se l'output non viene generato nel percorso specificato, assicurati di costruire la configurazione corrispondente (ad esempio, Debug o Release) selezionandone una sulla barra dei menu di Visual Studio.
Impostare la directory di output intermedia per un progetto
- .NET
- .NET Framework
- C++
Questa procedura si applica ai progetti in Visual Studio 2022 destinati a .NET Core o .NET 5 e versioni successive.
Pulire il progetto per rimuovere eventuali file di output esistenti.
Aprire il file di progetto.
Aggiungere la dichiarazione di proprietà seguente al primo gruppo di proprietà.
<PropertyGroup> <!-- existing property declarations are here --> <IntermediateOutputPath>path</IntermediateOutputPath> </PropertyGroup>
Il percorso è relativo al file di progetto oppure è possibile usare un percorso assoluto. Se si vuole inserire il nome del progetto nel percorso, è possibile farvi riferimento usando le proprietà di MSBuild
$(MSBuildProjectName)
,$(MSBuildProjectDirectory)
. Per ulteriori proprietà che è possibile utilizzare, vedere proprietà riservate e ben note di MSBuild.Visual Studio crea ancora la cartella obj nella cartella del progetto durante la compilazione, ma è vuota. È possibile eliminarlo come parte del processo di compilazione. Un modo per eseguire questa operazione consiste nell'aggiungere un evento di post-compilazione per eseguire il comando seguente:
rd "$(ProjectDir)obj" /s /q
Usare Directory.Build.props per impostare la directory di output
- .NET
- .NET Framework
- C++
Se si dispone di un numero elevato di progetti e si vuole modificare la cartella di output per tutti questi progetti, sarebbe noioso e soggetto a errori modificare ognuno usando i metodi descritti in precedenza in questo articolo. In questi casi, è possibile creare un file nella cartella della soluzione, Directory.Build.props, per impostare le proprietà MSBuild appropriate in un'unica posizione, da applicare a tutti i progetti nella soluzione. Inserendo un file con questo nome specifico nella cartella padre di tutti i progetti che si desidera influire, è possibile mantenere facilmente le personalizzazioni in un'unica posizione e semplificare la modifica dei valori. Consultare Personalizzare la compilazione in base alla cartella.
Utilizzare gli artefatti per organizzare l'output della compilazione
Per i progetti .NET 8, è possibile usare la funzionalità degli artefatti per disporre l'output in modo altamente personalizzabile e flessibile. Vedere layout di output Artifacts.