Udostępnij za pośrednictwem


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

Koncepcje

Elementy programu MSBuild

Inne zasoby

MSBuild