Porady: wykluczanie plików z kompilacji
W pliku projektu można używać symboli wieloznacznych, aby uwzględnić wszystkie pliki w jednym katalogu lub zagnieżdżonych zestaw katalogów jako nakłady dla budowania.Jednakże może być jeden plik w katalogu lub katalogu w zagnieżdżonych zestaw katalogów, których nie chcesz dołączać jako dane wejściowe dla kompilacji.Z listy danych wejściowych może wyraźnie wykluczyć tego pliku lub katalogu.Można również plik w programie project, który chcesz dołączyć pod pewnymi warunkami.Można jawnie deklarować, warunki, na których plik znajduje się w kompilacji.
Wykluczanie pliku lub katalogu danych wejściowych dla kompilacji
Element listy są pliki wejściowe dla kompilacji.Zgłaszane są elementy, które chcesz dołączyć, oddzielnie lub jako grupę za pomocą Include atrybut.Na przykład:
<CSFile Include="Form1.cs"/>
<CSFile Include ="File1.cs;File2.cs"/>
<CSFile Include="*.cs"/>
<JPGFile Include="Images\**\*.jpg"/>
Jeśli użyto symboli wieloznacznych, aby uwzględnić wszystkie pliki w jednym katalogu lub zagnieżdżonych zestaw katalogów jako nakłady dla budowania może być jeden lub więcej plików w katalogu lub katalogu w zagnieżdżonych zestaw katalogów, których nie chcesz dołączać.Aby wyłączyć element z listy zapasów, należy użyć Exclude atrybut.
Aby uwzględnić wszystkie pliki .cs lub .vb, z wyjątkiem formularz2
Użyj jednej z następujących Include i Exclude atrybuty:
<CSFile Include="*.cs" Exclude="Form2.cs"/>
- lub -
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Aby uwzględnić wszystkie pliki .cs lub .vb, z wyjątkiem formularz2 i Form3
Użyj jednej z następujących Include i Exclude atrybuty:
<CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>
- lub -
<VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>
Aby uwzględnić wszystkie pliki jpg w podkatalogach katalogu obrazów, z wyjątkiem tych, w katalogu Version2
Użyj polecenia Include i Exclude atrybuty:
<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
[!UWAGA]
Należy określić ścieżkę dla obu atrybutów.Jeśli używasz ścieżkę bezwzględną, aby określić lokalizację pliku w Include atrybut, należy również użyć bezwzględną ścieżkę w Exclude atrybut; Jeśli używasz ścieżki względnej w Include atrybut, należy również użyć ścieżki względnej w Exclude atrybut.
Aby wykluczyć plik lub katalog z wejść do budowania za pomocą warunków
Jeśli istnieją elementy, które chcesz dołączyć, na przykład, kompilacja do debugowania, ale nie wydanej kompilacji, umożliwia Condition atrybut, aby określić warunki, pod którym zapas został uwzględniony.
Aby dołączyć plik Formula.vb tylko w trybie budowania wersji
Użycie Condition atrybut podobny do następującego:
<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Przykład
Poniższy przykład kodu tworzy projekt z wszystkich plików .cs w katalogu, z wyjątkiem Form2.cs.
<Project DefaultTargets="Compile"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<builtdir>built</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs Exclude="Form2.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>
Zobacz też
Zadania
Porady: wybieranie plików do kompilacji