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.
Riferimento
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.
Importa
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.