Elementi comuni del progetto MSBuild
In MSBuild un elemento è un riferimento denominato a uno o più file. Gli elementi contengono metadati, ad esempio nomi di file, percorsi e numeri di versione. Tutti i tipi di progetto in Visual Studio hanno diversi elementi in comune. Questi elementi vengono 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 elemento | Descrizione |
---|---|
HintPath | Stringa facoltativa. Percorso relativo o assoluto dell'assembly. |
Nome | Stringa facoltativa. Nome visualizzato dell'assembly, ad esempio "System.Windows.Forms". |
FusionName | Stringa facoltativa. Specifica il nome di fusione 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. Qualsiasi alias per il riferimento. |
Privato | Valore booleano facoltativo. Specifica se il riferimento deve essere copiato nella cartella di output. Questo attributo corrisponde alla proprietà Copy Local del riferimento presente nell'IDE di Visual Studio. |
COMReference
Rappresenta un riferimento al componente COM (non gestito) nel progetto. Questo elemento si applica solo ai progetti .NET.
Nome metadati elemento | Descrizione |
---|---|
Nome | Stringa facoltativa. Nome visualizzato del componente. |
Guid | Stringa obbligatoria. GUID per il componente, nel formato {12345678-1234-1234-1234-123456781234}. |
VersionMajor | Stringa obbligatoria. Parte principale del numero di versione del componente. Ad esempio, "5" se il numero di versione completo è "5.46". |
VersionMinor | Stringa obbligatoria. 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 senza reg. |
COMFileReference
Rappresenta un elenco di librerie di tipi passate al parametro TypeLibFiles
della destinazione ResolveComReference. Questo elemento si applica solo ai progetti .NET.
Nome metadati elemento | 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 elemento | Descrizione |
---|---|
Nome | Stringa obbligatoria. Nome di base del file manifesto. |
HintPath | Stringa obbligatoria. Percorso relativo del file manifesto. |
ProjectReference
Rappresenta un riferimento a un altro progetto.
ProjectReference
gli elementi vengono trasformati in riferimento elementi dalla destinazione ResolveProjectReferences
, pertanto tutti i metadati validi in un riferimento possono essere validi in ProjectReference
, se il processo di trasformazione non lo sovrascrive.
Nome metadati elemento | Descrizione |
---|---|
Nome | Stringa facoltativa. Nome visualizzato del riferimento. |
GlobalPropertiesToRemove | Facoltativo string[] . Nomi delle proprietà da rimuovere durante la compilazione del progetto a cui si fa riferimento, ad esempio RuntimeIdentifier;PackOnBuild . Il valore predefinito è vuoto. |
Progetto | 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. Il valore predefinito è true . |
Privato | Valore booleano facoltativo. Specifica se il riferimento deve essere copiato nella cartella di output. Questo attributo corrisponde alla proprietà Copy Local del riferimento presente nell'IDE di Visual Studio. |
SetConfiguration | Stringa facoltativa. Imposta la proprietà globale Configuration per il progetto di riferimento, ad esempio Configuration=Release . |
SetPlatform | Stringa facoltativa. Imposta la proprietà globale Platform per il progetto di riferimento, ad esempio Platform=AnyCPU . |
SetTargetFramework | Stringa facoltativa. Imposta la proprietà globale TargetFramework per il progetto di riferimento, ad esempio TargetFramework=netstandard2.0 . |
SkipGetTargetFrameworkProperties | Valore booleano facoltativo. Se true , compila il progetto a cui si fa riferimento senza negoziare il valore di TargetFramework più compatibile. Il valore predefinito è false . |
Obiettivi | Facoltativo string[] . Elenco delimitato da punto e virgola di destinazioni nei progetti a cui si fa riferimento che devono essere compilati. Il valore predefinito è $(ProjectReferenceBuildTargets) , che per impostazione predefinita è vuoto, che indica le destinazioni predefinite. Quando si compila in Visual Studio (anziché MSBuild.exe o dotnet build ), questa impostazione non 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 transitive. È possibile codificare in Project3 in Project1.
Compilare
Rappresenta i file di origine per il compilatore.
Nome metadati elemento | Descrizione |
---|---|
DependentUpon | Stringa facoltativa. Specifica il file da cui dipende la compilazione corretta. |
AutoGen | Valore booleano facoltativo. Indica se il file è stato generato per il progetto dall'ambiente di sviluppo integrato (IDE) di Visual Studio. |
Collegamento | Stringa facoltativa. Percorso notazione da visualizzare quando il file si trova fisicamente all'esterno dell'influenza del file di progetto. |
Visibile | Valore booleano facoltativo. Indica se visualizzare il file in esplora soluzioni in Visual Studio. |
CopyToOutputDirectory | Stringa facoltativa. Determina se copiare il file nella directory di output. I valori sono: 1. Mai 2. Sempre 3. Mantieni più recente 4. IfDifferent |
EmbeddedResource
Rappresenta le risorse da incorporare nell'assembly generato.
Nome metadati elemento | Descrizione |
---|---|
Cultura | Stringa facoltativa. Specifica le impostazioni cultura del file di risorse. Se specificato, il processo di compilazione non deduce automaticamente le impostazioni cultura in base all'estensione di file ( che dipende dalle impostazioni cultura disponibili per .NET/OS nel computer che ospita la compilazione). È consigliabile impostare Culture={culture identifier} o WithCulture=false metadati. |
WithCulture | Bool facoltativo. Specifica che il file è indipendente dalle impostazioni cultura e il rilevamento delle impostazioni cultura da AssignCulture 'attività deve essere ignorato. È consigliabile impostare Culture={culture identifier} o WithCulture=false metadati. |
DependentUpon | Stringa facoltativa. Specifica il file da cui dipende la compilazione corretta |
Generatore | Stringa facoltativa. Nome di qualsiasi generatore di file eseguito su questo elemento. |
LastGenOutput | Stringa facoltativa. Nome del file creato da qualsiasi generatore di file eseguito su questo elemento. |
CustomToolNamespace | Stringa facoltativa. Spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice. |
Collegamento | Stringa facoltativa. Il percorso notazione viene visualizzato se il file si trova fisicamente all'esterno dell'influenza del progetto. |
Visibile | Valore booleano facoltativo. Indica se visualizzare il file in esplora soluzioni in Visual Studio. |
CopyToOutputDirectory | Stringa facoltativa. Determina se copiare il file nella directory di output. I valori sono: 1. Mai 2. Sempre 3. Mantieni più recente 4. IfDifferent |
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 elemento | Descrizione |
---|---|
DependentUpon | Stringa facoltativa. Specifica il file da cui dipende la compilazione corretta. |
Generatore | Stringa facoltativa. Nome di qualsiasi generatore di file eseguito su questo elemento. |
LastGenOutput | Stringa facoltativa. Nome del file creato da qualsiasi generatore di file eseguito su questo elemento. |
CustomToolNamespace | Stringa facoltativa. Spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice. |
Collegamento | Stringa facoltativa. Percorso notazione da visualizzare se il file si trova fisicamente all'esterno dell'influenza del progetto. |
PublishState | Stringa obbligatoria. Stato di pubblicazione del contenuto: -Default -Incluso -Escluso -Datafile -Prerequisito |
IsAssembly | Valore booleano facoltativo. Specifica se il file è un assembly. |
Visibile | Valore booleano facoltativo. Indica se visualizzare il file in esplora soluzioni in Visual Studio. |
CopyToOutputDirectory | Stringa facoltativa. Determina se copiare il file nella directory di output. I valori sono: 1. Mai 2. Sempre 3. Mantieni più recente 4. IfDifferent |
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. Questo rispetta i metadati Link , se specificati. Se TargetPath non viene specificato, viene calcolato durante il processo di compilazione. Vedere AssignTargetPath. |
Nessuno
Rappresenta i file che non devono avere alcun ruolo nel processo di compilazione.
Nome metadati elemento | Descrizione |
---|---|
DependentUpon | Stringa facoltativa. Specifica il file da cui dipende la compilazione corretta. |
Generatore | Stringa facoltativa. Nome di qualsiasi generatore di file eseguito su questo elemento. |
LastGenOutput | Stringa facoltativa. Nome del file creato da qualsiasi generatore di file eseguito su questo elemento. |
CustomToolNamespace | Stringa facoltativa. Spazio dei nomi in cui qualsiasi generatore di file eseguito su questo elemento deve creare codice. |
Collegamento | Stringa facoltativa. Percorso notazione da visualizzare se il file si trova fisicamente all'esterno dell'influenza del progetto. |
Visibile | Valore booleano facoltativo. Indica se visualizzare il file in esplora soluzioni in Visual Studio. |
CopyToOutputDirectory | Stringa facoltativa. Determina se copiare il file nella directory di output. I valori sono: 1. Mai 2. Sempre 3. Mantieni più recente 4. IfDifferent |
AssemblyMetadata
Rappresenta gli attributi dell'assembly da generare come [AssemblyMetadata(key, value)]
.
Nome metadati elemento | Descrizione |
---|---|
Includere | 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 attributi dell'assembly [InternalsVisibleTo(..)]
.
Nome metadati elemento | Descrizione |
---|---|
Includere | 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.
Importazione
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.
Vedere anche
- proprietà comuni del progetto MSBuild
- metadati dell'elemento MSBuild comuni