Výběr souborů pro sestavení
Když vytvoříte projekt, který obsahuje několik souborů, můžete každý soubor vypsat zvlášť v souboru projektu, nebo můžete použít zástupné cardy k zahrnutí všech souborů do jednoho adresáře nebo do vnořené sady adresářů.
Zadání vstupů
Položky představují vstupy sestavení. Další informace o položkách najdete v tématu Položky.
Chcete-li zahrnout soubory pro sestavení, musí být zahrnuty do seznamu položek v souboru projektu MSBuild. Do seznamů položek lze přidat více souborů tak, že do seznamů položek zahrnete soubory jednotlivě nebo pomocí zástupných znaků, které budou obsahovat mnoho souborů najednou.
Deklarace položek jednotlivě
Include
Použijte atributy podobné následujícímu:<CSFile Include="form1.cs"/>
or
<VBFile Include="form1.vb"/>
Poznámka:
Pokud položky v kolekci položek nejsou ve stejném adresáři jako soubor projektu, je nutné zadat úplnou nebo relativní cestu k položce. Například:
Include="..\..\form2.cs"
.
Deklarace více položek
Include
Použijte atributy podobné následujícímu:<CSFile Include="form1.cs;form2.cs"/>
nebo
<VBFile Include="form1.vb;form2.vb"/>
Zadání vstupů pomocí zástupných znaků
Zástupné zóny můžete použít také k rekurzivnímu zahrnutí všech souborů nebo pouze konkrétních souborů z podadresářů jako vstupů sestavení. Další informace o zástupných
Následující příklady jsou založené na projektu, který obsahuje grafické soubory v následujících adresářích a podadresářích s projektovým souborem umístěným v adresáři Projektu :
Project\Images\BestJpgs
Project\Images\ImgJpgs
Project\Images\ImgJpgs\Img1
Zahrnutí všech souborů .jpg do adresáře obrázků a podadresářů
Použijte následující
Include
atribut:Include="Images\**\*.jpg"
Zahrnutí všech souborů .jpg počínaje img
Použijte následující
Include
atribut:Include="Images\**\img*.jpg"
Zahrnutí všech souborů do adresářů s názvy končícími na jpgs
Použijte jeden z následujících
Include
atributů:Include="Images\**\*jpgs\*.*"
nebo
Include="Images\**\*jpgs\*"
Předání položek úkolu
V souboru projektu můžete pomocí zápisu @() v úkolech zadat jako vstup pro sestavení celý seznam položek. Tento zápis můžete použít bez ohledu na to, jestli vypíšete všechny soubory samostatně, nebo použijete zástupné znamény.
Použití všech souborů Visual C# nebo Visual Basic jako vstupů
Include
Použijte atributy podobné následujícímu:<CSC Sources="@(CSFile)">...</CSC>
or
<VBC Sources="@(VBFile)">...</VBC>
Poznámka:
K zadání vstupů pro sestavení je nutné použít zástupné zóny s položkami; Nelze zadat vstupy pomocí atributu Sources
v úlohách MSBuild, jako je Csc nebo Vbc. Následující příklad není platný v souboru projektu:
<CSC Sources="*.cs">...</CSC>
Příklad 1
Následující příklad kódu ukazuje projekt, který obsahuje všechny vstupní soubory samostatně.
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<Builtdir>built</Builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="Form1.cs"/>
<CSFile Include="AssemblyInfo.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
TargetType="exe" />
</Target>
</Project>
Příklad 2
Následující příklad kódu používá zástupný znak k zahrnutí všech souborů .cs .
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
TargetType="exe" />
</Target>
</Project>
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro