Condividi tramite


Elementi di progetto MSBuild comuni

In MSBuild un elemento è un riferimento denominato a uno o più file. Gli elementi contengono metadati quali ad esempio nomi file, percorsi e numeri di versione. Tutti i tipi di progetto in Visual Studio hanno diversi elementi in comune. Questi elementi sono definiti nel file Microsoft.Build.CommonTypes.xsd.

Questo articolo elenca tutti gli elementi di progetto comuni.

Reference

Rappresenta un riferimento all'assembly (gestito) nel progetto.

Nome metadati degli elementi Descrizione
HintPath Stringa facoltativa. Percorso relativo o assoluto dell'assembly.
Nome Stringa facoltativa. Il nome visualizzato dell'assembly, ad esempio "System.Windows.Forms".
FusionName Stringa facoltativa. Specifica il nome Fusion semplice o sicuro per l'elemento.

Quando questo attributo è presente, può risparmiare tempo perché il file di assembly non deve essere aperto per ottenere il nome fusion.
SpecificVersion Valore booleano facoltativo. Specifica se è necessario fare riferimento solo alla versione nel nome Fusion.
Alias Stringa facoltativa. Gli alias per il riferimento.
Privata Valore booleano facoltativo. Specifica se il riferimento deve essere copiato nella cartella di output. Questo attributo corrisponde alla proprietà Copia localmente del riferimento nell'IDE di Visual Studio.

COMReference

Rappresenta un riferimento a un oggetto COM (non gestito) nel progetto. Questo elemento si applica solo ai progetti .NET.

Nome metadati degli elementi Descrizione
Name Stringa facoltativa. Nome visualizzato del componente
GUID Stringa obbligatoria. GUID per il componente, nel formato {12345678-1234-1234-1234-123456781234}.
VersionMajor Stringa obbligatoria. La parte principale del numero di versione del componente. Ad esempio, "5" se il numero di versione completo è "5.46".
VersionMinor Stringa obbligatoria. La parte secondaria del numero di versione del componente. Ad esempio, "46" se il numero di versione completo è "5.46."
EmbedInteropTypes Valore booleano facoltativo. Se true, incorporare i tipi di interoperabilità di questo riferimento direttamente nell'assembly anziché generare una DLL di interoperabilità.
LCID Stringa facoltativa. LocaleID per il componente.
WrapperTool Stringa facoltativa. Nome dello strumento wrapper utilizzato nel componente. I valori sono:

1. primario
2. tlbimp
3. primaryortlbimp
4. aximp
Isolato Valore booleano facoltativo. Specifica se il componente è un componente reg-free.

COMFileReference

Rappresenta un elenco di librerie di tipi passate al parametro TypeLibFiles della destinazione ResolvedComreference. Questo elemento si applica solo ai progetti .NET.

Nome metadati degli elementi Descrizione
WrapperTool Stringa facoltativa. Nome dello strumento wrapper utilizzato nel componente. I valori sono:

1. primario
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

Rappresenta un file manifesto nativo o un riferimento a tale file.

Nome metadati degli elementi Descrizione
Name Stringa obbligatoria. Il nome base del file manifesto.
HintPath Stringa obbligatoria. Il percorso relativo del file manifesto.

ProjectReference

Rappresenta un riferimento a un altro progetto. ProjectReference gli elementi vengono trasformati in elementi di riferimento in base alla ResolveProjectReferences destinazione, pertanto tutti i metadati validi in un riferimento possono essere validi in ProjectReference, se il processo di trasformazione non lo sovrascrive.

Nome metadati degli elementi Descrizione
Name Stringa facoltativa. Nome visualizzato del riferimento.
GlobalPropertiesToRemove Facoltativo string[]. Nomi delle proprietà da rimuovere durante la compilazione del progetto di riferimento, ad esempio RuntimeIdentifier;PackOnBuild. Per impostazione predefinita è vuoto.
Project Stringa facoltativa. GUID per il riferimento, nel formato {12345678-1234-1234-1234-123456781234}.
OutputItemType Stringa facoltativa. Tipo di elemento in cui generare output di destinazione. Il valore predefinito è vuoto. Se i metadati di riferimento sono impostati su "true" (impostazione predefinita), gli output di destinazione diventano riferimenti per il compilatore.
ReferenceOutputAssembly Valore booleano facoltativo. Se impostato su false, non include l'output del progetto a cui si fa riferimento come riferimento di questo progetto, ma garantisce comunque che l'altro progetto venga compilato prima di questo progetto. Il valore predefinito è true.
Privata Valore booleano facoltativo. Specifica se il riferimento deve essere copiato nella cartella di output. Questo attributo corrisponde alla proprietà Copia localmente del riferimento nell'IDE di Visual Studio.
SetConfiguration Stringa facoltativa. Imposta la proprietà Configuration globale per il progetto a cui si fa riferimento, ad esempio Configuration=Release.
SetPlatform Stringa facoltativa. Imposta la proprietà Platform globale per il progetto a cui si fa riferimento, ad esempio Platform=AnyCPU.
SetTargetFramework Stringa facoltativa. Imposta la proprietà TargetFramework globale per il progetto a cui si fa riferimento, ad esempio TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Valore booleano facoltativo. Se true, compila il progetto a cui si fa riferimento senza negoziare il valore più compatibile TargetFramework . Il valore predefinito è false.
Target Facoltativo string[]. Elenco delimitato da punto e virgola di destinazioni nei progetti a cui si fa riferimento che devono essere compilati. Il valore $(ProjectReferenceBuildTargets)predefinito è , che per impostazione predefinita è vuoto, che indica le destinazioni predefinite. Quando si compila in Visual Studio (anziché MSBuild.exe in o dotnet build), non si impedisce a Visual Studio di compilare le destinazioni predefinite del progetto a cui si fa riferimento.

Nota

Esiste una differenza tra il funzionamento dei riferimenti al progetto tra .NET Framework e .NET Core (incluso .NET 5 e versioni successive). Nei progetti .NET Framework i riferimenti al progetto non sono transitivi. Ovvero, se Project1 fa riferimento a Project2 e Project2 fa riferimento a Project3, non è possibile codificare in Project3 da Project1. Tuttavia, in .NET Core (incluso .NET 5 e versioni successive), i riferimenti al progetto sono transitivi. È possibile codificare in Project3 in Project1.

Compila

Rappresenta i file di origine per il compilatore.

Nome metadati degli elementi Descrizione
DependentUpon Stringa facoltativa. Specifica il file da cui questo file dipende per una compilazione corretta.
AutoGen Valore booleano facoltativo. Indica se il file è stato generato per il progetto dall'ambiente di sviluppo integrato (IDE) di Visual Studio.
Collega Stringa facoltativa. Il percorso di annotazione che viene visualizzato quando il file si trova fisicamente fuori dall'influenza del file di progetto.
Visible Valore booleano facoltativo. Indica se visualizzare il file in Esplora soluzioni in Visual Studio.
CopyToOutputDirectory Stringa facoltativa. Specifica se il file deve essere copiato nella cartella di output. I valori sono:

1. Mai
2. Sempre
3. Mantieni più recente

EmbeddedResource

Rappresenta le risorse da incorporare nell'assembly generato.

Nome metadati degli elementi Descrizione
DependentUpon Stringa facoltativa. Specifica il file da cui questo file dipende per una compilazione corretta
Generatore Stringa facoltativa. Il nome di un generatore di file che viene eseguito sull'elemento.
LastGenOutput Stringa facoltativa. Il nome del file che è stato creato da qualsiasi generatore di file eseguito sull'elemento.
CustomToolNamespace Stringa facoltativa. Lo spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice.
Collega Stringa facoltativa. Il percorso di annotazione che viene visualizzato se il file si trova fisicamente fuori dall'influenza del progetto.
Visible Valore booleano facoltativo. Indica se visualizzare il file in Esplora soluzioni in Visual Studio.
CopyToOutputDirectory Stringa facoltativa. Specifica se il file deve essere copiato nella cartella di output. I valori sono:

1. Mai
2. Sempre
3. Mantieni più recente
LogicalName Stringa obbligatoria. Nome logico della risorsa incorporata.

Contenuto

Rappresenta i file che non vengono compilati nel progetto, ma possono essere incorporati o pubblicati insieme.

Nome metadati degli elementi Descrizione
DependentUpon Stringa facoltativa. Specifica il file da cui questo file dipende per una compilazione corretta.
Generatore Stringa facoltativa. Il nome di un generatore di file che viene eseguito sull'elemento.
LastGenOutput Stringa facoltativa. Il nome del file creato da qualsiasi generatore di file che è stato eseguito sull'elemento.
CustomToolNamespace Stringa facoltativa. Lo spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice.
Collega Stringa facoltativa. Il percorso di annotazione che viene visualizzato quando il file si trova fisicamente fuori dall'influenza del progetto.
PublishState Stringa obbligatoria. Lo stato di pubblicazione del contenuto, che può essere:

- Predefinito
- Incluso
- Escluso
- DataFile
- Prerequisito
IsAssembly Valore booleano facoltativo. Specifica se il file è un assembly.
Visible Valore booleano facoltativo. Indica se visualizzare il file in Esplora soluzioni in Visual Studio.
CopyToOutputDirectory Stringa facoltativa. Specifica se il file deve essere copiato nella cartella di output. I valori sono:

1. Mai
2. Sempre
3. Mantieni più recente
TargetPath Stringa facoltativa. Percorso di output (relativo alla directory di output specifica della configurazione e/o della piattaforma) di un elemento, incluso il nome file. In questo modo vengono rispettati i Link metadati, se specificati. Se TargetPath non viene specificato, viene calcolato durante il processo di compilazione. Vedere AssignTargetPath.

None

Rappresenta i file che non hanno un ruolo nel processo di compilazione.

Nome metadati degli elementi Descrizione
DependentUpon Stringa facoltativa. Specifica il file da cui questo file dipende per una compilazione corretta.
Generatore Stringa facoltativa. Il nome di un generatore di file che viene eseguito sull'elemento.
LastGenOutput Stringa facoltativa. Il nome del file che è stato creato da qualsiasi generatore di file eseguito sull'elemento.
CustomToolNamespace Stringa facoltativa. Lo spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice.
Collega Stringa facoltativa. Il percorso di annotazione che viene visualizzato quando il file si trova fisicamente fuori dall'influenza del progetto.
Visible Valore booleano facoltativo. Indica se visualizzare il file in Esplora soluzioni in Visual Studio.
CopyToOutputDirectory Stringa facoltativa. Specifica se il file deve essere copiato nella cartella di output. I valori sono:

1. Mai
2. Sempre
3. Mantieni più recente

AssemblyMetadata

Rappresenta gli attributi dell'assembly da generare come [AssemblyMetadata(key, value)].

Nome metadati degli elementi Descrizione
Includi Diventa il primo parametro (la chiave) nel costruttore dell'attributo AssemblyMetadataAttribute .
Valore Stringa obbligatoria. Diventa il secondo parametro (il valore) nel costruttore dell'attributo AssemblyMetadataAttribute .

Nota

Questo elemento si applica ai progetti che usano l'SDK per .NET 5 (e .NET Core) e le versioni successive.

InternalsVisibleTo

Specifica gli assembly da generare come [InternalsVisibleTo(..)] attributi dell'assembly.

Nome metadati degli elementi Descrizione
Includi Nome dell'assembly.
Chiave Stringa facoltativa. Chiave pubblica dell'assembly.

Nota

Questo elemento si applica ai progetti che usano l'SDK per .NET 5 (e .NET Core) e le versioni successive.

BaseApplicationManifest

Rappresenta il manifesto dell'applicazione di base per la compilazione e contiene informazioni sulla sicurezza della distribuzione ClickOnce.

CodeAnalysisImport

Rappresenta il progetto FxCop da importare.

Import

Rappresenta gli assembly i cui spazi dei nomi devono essere importati dal compilatore Visual Basic.

Cartella

Questo elemento viene usato solo da Visual Studio come segnaposto per una cartella vuota. Quando la cartella viene popolata, viene sostituita da un altro elemento.

Vedi anche