Wykluczanie plików z kompilacji
W pliku projektu można użyć symboli wieloznacznych, aby uwzględnić wszystkie pliki w jednym katalogu lub zagnieżdżony zestaw katalogów jako dane wejściowe dla kompilacji. Może jednak istnieć jeden plik w katalogu lub jeden katalog w zagnieżdżonym zestawie katalogów, które nie mają być uwzględniane jako dane wejściowe dla kompilacji. Możesz jawnie wykluczyć ten plik lub katalog z listy danych wejściowych. W projekcie może być również plik, który ma zostać uwzględniny tylko w określonych warunkach. Możesz jawnie zadeklarować warunki, w których plik jest uwzględniony w kompilacji.
Wykluczanie pliku lub katalogu z danych wejściowych kompilacji
Listy elementów to pliki wejściowe kompilacji. Elementy, które chcesz dołączyć, są deklarowane oddzielnie lub jako grupa przy użyciu atrybutu Include
. 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 do uwzględnienia wszystkich plików w jednym katalogu lub zagnieżdżonego zestawu katalogów jako danych wejściowych dla kompilacji, może istnieć co najmniej jeden plik w katalogu lub jeden katalog w zagnieżdżonym zestawie katalogów, które nie chcesz uwzględniać. Aby wykluczyć element z listy elementów, użyj atrybutu Exclude
.
Aby uwzględnić wszystkie pliki cs lub vb z wyjątkiem formularza Form2
Użyj jednego z następujących
Include
atrybutów iExclude
:<CSFile Include="*.cs" Exclude="Form2.cs"/>
lub
<VBFile Include="*.vb" Exclude="Form2.vb"/>
Aby dołączyć wszystkie pliki cs lub vb z wyjątkiem Form2 i Form3
Użyj jednego z następujących
Include
atrybutów iExclude
:<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 Images z wyjątkiem plików w katalogu Version2
Użyj następujących
Include
atrybutów iExclude
:<JPGFile Include="Images\**\*.jpg" Exclude = "Images\**\Version2\*.jpg"/>
Uwaga
Należy określić ścieżkę dla obu atrybutów. Jeśli używasz ścieżki bezwzględnej do określania lokalizacji plików w atrybucie
Include
, musisz również użyć ścieżki bezwzględnej wExclude
atrybucie. Jeśli używasz ścieżki względnej w atrybucieInclude
, musisz również użyć ścieżki względnej w atrybucieExclude
.
Użyj warunków, aby wykluczyć plik lub katalog z danych wejściowych kompilacji
Jeśli istnieją elementy, które chcesz uwzględnić, na przykład w kompilacji debugowania, ale nie kompilacji wydania, możesz użyć atrybutu Condition
, aby określić warunki, w których ma zostać uwzględniny element.
Aby uwzględnić plik Formula.vb tylko w kompilacjach wydania
Użyj atrybutu
Condition
podobnego do następującego:<Compile Include="Formula.vb" Condition=" '$(Configuration)' == 'Release' " />
Przykład
Poniższy przykład kodu kompiluje projekt ze wszystkimi plikami cs w katalogu z wyjątkiem Form2.cs.
<Project DefaultTargets="Compile"
xmlns="http://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>
Powiązana zawartość
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla