Sdílet prostřednictvím


Běžné položky projektu NÁSTROJE MSBuild

V nástroji MSBuild je položka pojmenovaným odkazem na jeden nebo více řetězců, jako jsou názvy souborů. Položky obsahují metadata, jako jsou názvy souborů, cesty a čísla verzí. Všechny typy projektů v sadě Visual Studio mají několik společných položek. Tyto položky jsou definovány v souboru Microsoft.Build.CommonTypes.xsd.

Tento článek obsahuje seznam všech běžných položek projektu definovaných v samotném nástroji MSBuild. Položky a vlastnosti poskytované sadou .NET SDK jsou zdokumentované v referenčních informacích nástroje MSBuild pro Microsoft.Net.Sdk.

Samotný nástroj MSBuild nenastavuje žádnou hodnotu pro volitelná metadata a metadata bez sady jsou ekvivalentní prázdnému řetězci. Výchozí hodnota pro volitelná metadata je proto prázdný řetězec. Hodnoty metadat jsou ale někdy nastavené v souborech SDK, které se implicitně importují. Hodnoty závisí na odkazované sadě SDK.

Reference

Představuje odkaz sestavení .NET (spravovaný) v projektu.

Název metadat položky Description
HintPath Volitelný řetězec. Relativní nebo absolutní cesta sestavení.
Name Volitelný řetězec. Zobrazovaný název sestavení, například System.Windows.Forms.
FusionName Volitelný řetězec. Určuje jednoduchý nebo silný sloučený název položky.

Pokud je tento atribut k dispozici, může ušetřit čas, protože soubor sestavení nemusí být otevřen, aby získal sloučený název.
SpecificVersion Volitelná logická hodnota Určuje, jestli se má odkazovat pouze na verzi v názvu fúzní syntézy.
Aliases Volitelný řetězec. Všechny aliasy pro referenci
Private Volitelná logická hodnota Určuje, jestli se má odkaz zkopírovat do výstupní složky. Tento atribut odpovídá vlastnosti Copy Local odkazu, který je v integrovaném vývojovém prostředí sady Visual Studio. Výchozí hodnota je false.

Note

Typ Reference položky lze použít také k odkazování na předgenerovaná sestavení obálky pro nativní objekty MODELU COM, například pokud jste použili tlbimp.exe k vygenerování PIA (primární sestavení vzájemné spolupráce). Tento typ odkazu je vhodná volba v případě, že chcete předgenerovat sestavení obálky MODELU COM se známými vstupy, místo abyste se museli spoléhat na algoritmus NÁSTROJE MSBuild k vygenerování obálky MODELU COM v době sestavení, která představuje závislost na stavu systémového registru na počítači sestavení, kde je spuštěn nástroj MSBuild.

COMReference

Představuje odkaz na komponentu MODELU COM (nespravovaná) v projektu. Tuto položku používá úloha ResolveComReference, která generuje sestavení obálky, nebo pokud EmbedInteropTypes je použita, vloží typy zprostředkovatele komunikace do sestavení. Použití tohoto typu odkazu představuje závislost na systémovém registru na počítači sestavení, který se používá k vyhledání odkazovaného objektu COM. Artefakty modelu COM a položky modelu COM v registru se můžou změnit, když jsou na počítači nainstalované, aktualizované nebo odinstalované produkty (nebo když spustíte stejný build na jiném počítači), potenciálně vytvoří jiné sestavení obálky, i když se logika sestavení nezměnila.

Tato položka se nevztahuje na non-.NET projekty.

Název metadat položky Description
Name Volitelný řetězec. Zobrazovaný název komponenty.
Guid Povinný řetězec. Identifikátor GUID pro komponentu ve formuláři {12345678-1234-1234-1234-123456781234}.
VersionMajor Povinný řetězec. Hlavní část čísla verze komponenty. Například "5" pokud je celé číslo verze "5.46".
VersionMinor Povinný řetězec. Podverze čísla verze komponenty. Například "46" pokud je celé číslo verze "5.46".
EmbedInteropTypes Volitelná logická hodnota Pokud je pravda, vložte typy vzájemné spolupráce z tohoto odkazu přímo do sestavení místo generování knihovny DLL vzájemné spolupráce.
Lcid Volitelný řetězec. Národní prostředí pro komponentu.
WrapperTool Volitelný řetězec. Název nástroje obálky, který se používá v komponentě. Hodnoty jsou:

1. primární
2. tlbimp
3. primaryortlbimp
4. aximp
V izolovaném prostředí Volitelná logická hodnota Určuje, jestli je komponenta součástí bez regulárního výrazu. Výchozí hodnota je false.

Viz Řešení potíží s odkazy modelu COM.

COMFileReference

Představuje seznam knihoven typů odkazovaných cestou k souboru místo použití systémového registru. Tento typ odkazu může být dobrou alternativou k modelu COMReference v případech, kdy se chcete vyhnout závislosti na registru buildového počítače, a to buď proto, že účet, který spouští sestavení, nemá zvýšená oprávnění k úpravě registru na buildovém serveru, nebo nechcete, aby sestavení mělo závislost na stavu registru. Pokud používáte COMFileReference odkaz na artefakt na systémové cestě, má sestavení závislost na stavu systému. Pokud se artefakt systému změní z důvodu změny stavu systému, například když jsou produkty nainstalovány, aktualizovány nebo odinstalovány (nebo pokud spustíte stejný build na jiném počítači), může se sestavení obálky změnit, i když se logika sestavení nezměnila. Pokud chcete zajistit konzistentní výsledek sestavení, můžete uložit známou kopii artefaktu MODELU COM na místo, které řídíte, například ve složce projektu nebo řešení, a odkazovat na místo systémového artefaktu.

Tato položka se nevztahuje na non-.NET projekty.

Název metadat položky Description
EmbedInteropTypes Volitelná logická hodnota Pokud je pravda, vložte typy vzájemné spolupráce z tohoto odkazu přímo do sestavení místo generování knihovny DLL vzájemné spolupráce. Výchozí hodnota je False.
WrapperTool Volitelný řetězec. Název nástroje obálky, který se používá v komponentě. Hodnoty jsou:

1. primární
2. tlbimp
3. primaryortlbimp
4. aximp

Viz Řešení potíží s odkazy modelu COM.

NativeReference

Představuje nativní soubor manifestu nebo odkaz na takový soubor.

Název metadat položky Description
Name Povinný řetězec. Základní název souboru manifestu.
HintPath Povinný řetězec. Relativní cesta k souboru manifestu.

ProjectReference

Představuje odkaz na jiný projekt. ProjectReference položky jsou transformovány do referenčních položek podle ResolveProjectReferences cíle, takže všechna platná metadata odkazu mohou být platná pro ProjectReference, pokud proces transformace nepřepíše.

Název metadat položky Description
Name Volitelný řetězec. Zobrazovaný název odkazu.
GlobalPropertiesToRemove Volitelné string[]. Názvy vlastností, které se mají odebrat při sestavování odkazovaného projektu, například RuntimeIdentifier;PackOnBuild. Výchozí hodnota je prázdná.
Project Volitelný řetězec. Identifikátor GUID pro odkaz ve formuláři {12345678-1234-1234-1234-123456781234}.
OutputItemType Volitelný řetězec. Typ položky, do které se mají vygenerovat cílové výstupy. Výchozí hodnota je prázdná. Pokud je metadata odkazu nastavena na true (výchozí), cílové výstupy se stanou odkazy pro kompilátor.
ReferenceOutputAssembly Volitelná logická hodnota Pokud je nastavená hodnota false, nezahrnuje výstup odkazovaného projektu jako odkaz na tento projekt, ale přesto zajistí, aby se ostatní sestavení projektu před tímto projektem. Výchozí hodnota je true.
BuildReference Volitelná logická hodnota Výchozí hodnota je true. Pokud je tato hodnota nastavená na false, nástroj MSBuild tuto funkci ProjectReference nesstaví. Výchozí cíle (viz níže uvedené cíle) nebudou vůbec volána.
Private Volitelná logická hodnota Určuje, jestli se má odkaz zkopírovat do výstupní složky. Tento atribut odpovídá vlastnosti Copy Local odkazu, který je v integrovaném vývojovém prostředí sady Visual Studio.
SetConfiguration Volitelný řetězec. Nastaví globální vlastnost Configuration pro odkazovaný projekt, například Configuration=Release.
SetPlatform Volitelný řetězec. Nastaví globální vlastnost Platform pro odkazovaný projekt, například Platform=AnyCPU.
SetTargetFramework Volitelný řetězec. Nastaví globální vlastnost TargetFramework pro odkazovaný projekt, například TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Volitelná logická hodnota Pokud true, sestaví odkazovaný projekt bez vyjednávání nejkomppatibilnější TargetFramework hodnoty. Výchozí hodnota je false.
Targets Volitelné string[]. Středník oddělený seznam cílů v odkazovaných projektech, které by se měly sestavit. Výchozí hodnota je hodnota $(ProjectReferenceBuildTargets), která ve výchozím nastavení je prázdná, což označuje výchozí cíle. Při sestavování v sadě Visual Studio (na rozdíl od MSBuild.exe nebo dotnet build) nezabráníte sadě Visual Studio v vytváření výchozích cílů odkazovaného projektu.

Note

Mezi fungováním odkazů na projekt mezi rozhraním .NET Framework a .NET Core (včetně .NET 5 a novějších) existuje rozdíl. Vprojektechch To znamená, že pokud Project1 odkazuje na Project2 a Project2 odkazuje na Project3, nemůžete kódovat v Projectu 3 z Projectu1. V .NET Core (včetně .NET 5 a novějších) jsou ale odkazy na projekty tranzitivní. V Projectu 1 můžete kódovat v Projectu 3.

Compile

Představuje zdrojové soubory kompilátoru.

Název metadat položky Description
DependentUpon Volitelný řetězec. Určuje soubor, na který tento soubor závisí správně zkompilovat.
AutoGen Volitelná logická hodnota Určuje, jestli byl soubor vygenerován pro projekt integrovaným vývojovými prostředími (IDE) sady Visual Studio. Výchozí hodnota je false.
Link Volitelný řetězec. Notační cesta, která se má zobrazit, když je soubor fyzicky umístěn mimo vliv souboru projektu.
Visible Volitelná logická hodnota Určuje, zda se má soubor zobrazit v průzkumníku řešení v sadě Visual Studio. Výchozí hodnota je true.
CopyToOutputDirectory Volitelný řetězec. Určuje, zda se má soubor zkopírovat do výstupního adresáře. Hodnoty jsou:

1. Nikdy
2. Vždy
3. PreserveNewest
4. IfDifferent

Výchozí hodnota Never je, pokud DefineExplicitDefaults je nastavena na truehodnotu ; v opačném případě se výchozí hodnota nastaví na prázdný řetězec.

EmbeddedResource

Představuje prostředky, které se mají vložit do generovaného sestavení.

Název metadat položky Description
Culture Volitelný řetězec. Určuje jazykovou verzi souboru prostředku. Pokud je zadáno, proces sestavení nevyvozuje jazykovou verzi automaticky na základě přípony souboru (která závisí na jazykových verzích dostupných pro .NET/OS na počítači, který je hostitelem sestavení). Důrazně doporučujeme nastavit Culture={culture identifier} nebo metadata WithCulture=false.
WithCulture Volitelná logická hodnota. Určuje, že soubor je jazyková verze neutrální a detekce jazykové verze AssignCulture úloha by se měla přeskočit. Důrazně doporučujeme nastavit Culture={culture identifier} nebo metadata WithCulture=false.
DependentUpon Volitelný řetězec. Určuje soubor, na který tento soubor závisí správně zkompilovat.
Generator Volitelný řetězec. Název libovolného generátoru souborů, který se spouští na této položce.
LastGenOutput Volitelný řetězec. Název souboru, který byl vytvořen jakýmkoli generátorem souborů, který běžel na této položce.
CustomToolNamespace Volitelný řetězec. Obor názvů, ve kterém by měl vytvořit kód libovolný generátor souborů, který běží na této položce.
Link Volitelný řetězec. Notační cesta se zobrazí, pokud je soubor fyzicky umístěn mimo vliv projektu.
Visible Volitelná logická hodnota Určuje, zda se má soubor zobrazit v průzkumníku řešení v sadě Visual Studio.
CopyToOutputDirectory Volitelný řetězec. Určuje, zda se má soubor zkopírovat do výstupního adresáře. Hodnoty jsou:

1. Nikdy
2. Vždy
3. PreserveNewest
4. IfDifferent

Výchozí hodnota Never je, pokud DefineExplicitDefaults je nastavena na truehodnotu ; v opačném případě se výchozí hodnota nastaví na prázdný řetězec.
LogicalName Povinný řetězec. Logický název vloženého prostředku.

Content

Představuje soubory, které nejsou kompilovány do projektu, ale mohou být vloženy nebo publikovány společně s ním.

Název metadat položky Description
DependentUpon Volitelný řetězec. Určuje soubor, na který tento soubor závisí správně zkompilovat.
Generator Volitelný řetězec. Název libovolného generátoru souborů, který běží na této položce.
LastGenOutput Volitelný řetězec. Název souboru, který byl vytvořen jakýmkoli generátorem souborů, který byl spuštěn na této položce.
CustomToolNamespace Volitelný řetězec. Obor názvů, ve kterém by měl vytvořit kód libovolný generátor souborů, který běží na této položce.
Link Volitelný řetězec. Notační cesta, která se má zobrazit, pokud je soubor fyzicky umístěn mimo vliv projektu.
PublishState Povinný řetězec. Stav publikování obsahu:

- Výchozí
-Zahrnutý
-Vyloučený
-Datafile
-Předpoklad
IsAssembly Volitelná logická hodnota Určuje, zda je soubor sestavení.
Visible Volitelná logická hodnota Určuje, zda se má soubor zobrazit v průzkumníku řešení v sadě Visual Studio.
CopyToOutputDirectory Volitelný řetězec. Určuje, zda se má soubor zkopírovat do výstupního adresáře. Hodnoty jsou:

1. Nikdy
2. Vždy
3. PreserveNewest
4. IfDifferent

Výchozí hodnota Never je, pokud DefineExplicitDefaults je nastavena na truehodnotu ; v opačném případě se výchozí hodnota nastaví na prázdný řetězec.
TargetPath Volitelný řetězec. Výstupní cesta (vzhledem k výstupnímu adresáři specifickému pro konfiguraci nebo platformu) položky, včetně názvu souboru. To respektuje metadata Link, pokud jsou k dispozici. Pokud cílová cesta není k dispozici, vypočítá se během procesu sestavení. Viz AssignTargetPath.

None

Představuje soubory, které by neměly mít v procesu sestavení žádnou roli.

Název metadat položky Description
DependentUpon Volitelný řetězec. Určuje soubor, na který tento soubor závisí správně zkompilovat.
Generator Volitelný řetězec. Název libovolného generátoru souborů, který se spouští na této položce.
LastGenOutput Volitelný řetězec. Název souboru, který byl vytvořen jakýmkoli generátorem souborů, který běžel na této položce.
CustomToolNamespace Volitelný řetězec. Obor názvů, ve kterém by měl vytvořit kód libovolný generátor souborů, který běží na této položce.
Link Volitelný řetězec. Notační cesta, která se má zobrazit, pokud je soubor fyzicky umístěn mimo vliv projektu.
Visible Volitelná logická hodnota Určuje, zda se má soubor zobrazit v průzkumníku řešení v sadě Visual Studio.
CopyToOutputDirectory Volitelný řetězec. Určuje, zda se má soubor zkopírovat do výstupního adresáře. Hodnoty jsou:

1. Nikdy
2. Vždy
3. PreserveNewest
4. IfDifferent

Výchozí hodnota Never je, pokud DefineExplicitDefaults je nastavena na truehodnotu ; v opačném případě se výchozí hodnota nastaví na prázdný řetězec.

AssemblyMetadata

Představuje atributy sestavení, které mají být generovány jako [AssemblyMetadata(key, value)].

Název metadat položky Description
Include Stane se prvním parametrem (klíčem) v konstruktoru atributu AssemblyMetadataAttribute.
Value Povinný řetězec. Stane se druhým parametrem (hodnotou) v konstruktoru atributu AssemblyMetadataAttribute.

Note

Tato položka se vztahuje na projekty používající sadu SDK pro .NET 5 (a .NET Core) a novější verze.

InternalsVisibleTo

Určuje sestavení, která mají být generována jako [InternalsVisibleTo(..)] atributy sestavení.

Název metadat položky Description
Include Název sestavení.
Key Volitelný řetězec. Veřejný klíč sestavení.

Note

Tato položka se vztahuje na projekty používající sadu SDK pro .NET 5 (a .NET Core) a novější verze.

BaseApplicationManifest

Představuje manifest základní aplikace pro sestavení a obsahuje informace o zabezpečení nasazení ClickOnce.

CodeAnalysisImport

Představuje projekt FxCop, který se má importovat.

Import

Představuje sestavení, jejichž obory názvů by měly být importovány kompilátorem jazyka Visual Basic.

Folder

Tento prvek používá sada Visual Studio pouze jako zástupný symbol pro prázdnou složku. Při naplnění složky se nahradí jiným prvkem.

Viz také