방법: 빌드에서 파일 제외How to: Exclude Files from the Build

프로젝트 파일에서 와일드카드를 사용하여 모든 파일을 하나의 디렉터리 또는 중첩된 디렉터리 집합에 빌드의 입력으로 포함할 수 있습니다.In a project file you can use wildcards to include all the files in one directory or a nested set of directories as inputs for a build. 그러나 해당 디렉터리 또는 중첩된 디렉터리 집합 중 하나의 디렉터리에 빌드의 입력으로 포함하지 않으려는 하나의 파일이 있을 수 있습니다.However, there might be one file in the directory or one directory in a nested set of directories that you do not want to include as input for a build. 입력 목록에서 해당 파일 또는 디렉터리를 명시적으로 제외할 수 있습니다.You can explicitly exclude that file or directory from the list of inputs. 특정 조건에서만 포함하려는 파일이 프로젝트에 있을 수도 있습니다.There may also be a file in a project that you only want to include under certain conditions. 파일을 빌드에 포함할 조건을 명시적으로 선언할 수 있습니다.You can explicitly declare the conditions under which a file is included in a build.

빌드의 입력에서 파일 또는 디렉터리 제외Excluding a File or Directory from the Inputs for a Build

항목 목록은 빌드에 사용할 입력 파일입니다.Item lists are the input files for a build. 포함할 항목은 Include 특성을 사용하여 그룹으로 또는 개별적으로 선언됩니다.The items that you want to include are declared either separately or as a group using the Include attribute. 예:For example:

<CSFile Include="Form1.cs"/>  
<CSFile Include ="File1.cs;File2.cs"/>  
<CSFile Include="*.cs"/>  
<JPGFile Include="Images\**\*.jpg"/>  

와일드카드를 사용하여 모든 파일을 하나의 디렉터리 또는 중첩된 디렉터리 집합에 빌드의 입력으로 포함한 경우, 해당 디렉터리 또는 중첩된 디렉터리 집합 중 하나의 디렉터리에 포함하지 않으려면 하나 이상의 파일이 있을 수 있습니다.If you have used wildcards to include all the files in one directory or a nested set of directories as inputs for a build, there might be one or more files in the directory or one directory in the a nested set of directories that you do not want to include. 항목 목록에서 항목을 제외하려면 Exclude 특성을 사용합니다.To exclude an item from the item list, use the Exclude attribute.

Form2를 제외한 모든 .cs 또는 .vb 파일을 포함하려면To include all .cs or .vb files except Form2

  • 다음 IncludeExclude 특성 중 하나를 사용합니다.Use one of the following Include and Exclude attributes:

    <CSFile Include="*.cs" Exclude="Form2.cs"/>  
    
    • 또는or -
    <VBFile Include="*.vb" Exclude="Form2.vb"/>  
    

Form2 및 Form3을 제외한 모든 .cs 또는 .vb 파일을 포함하려면To include all .cs or .vb files except Form2 and Form3

  • 다음 IncludeExclude 특성 중 하나를 사용합니다.Use one of the following Include and Exclude attributes:

    <CSFile Include="*.cs" Exclude="Form2.cs;Form3.cs"/>  
    
    • 또는or -
    <VBFile Include="*.vb" Exclude="Form2.vb;Form3.vb"/>  
    

Version2 디렉터리에서 해당 항목을 제외한 모든 .jpg 파일을 이미지 디렉터리의 하위 디렉터리에 포함하려면To include all .jpg files in subdirectories of the Images directory except those in the Version2 directory

  • 다음 IncludeExclude 특성을 사용합니다.Use the following Include and Exclude attributes:

    <JPGFile  
        Include="Images\**\*.jpg"  
        Exclude = "Images\**\Version2\*.jpg"/>  
    

    참고

    두 특성의 경로를 모두 지정해야 합니다.You must specify the path for both attributes. Include 특성에서 파일 위치를 지정할 때 절대 경로를 사용하는 경우 Exclude 특성에서도 절대 경로를 사용해야 하고, Include 특성에서 상대 경로를 사용하는 경우 Exclude 특성에서도 상대 경로를 사용해야 합니다.If you use an absolute path to specify file locations in the Include attribute, you must also use an absolute path in the Exclude attribute; if you use a relative path in the Include attribute, you must also use a relative path in the Exclude attribute.

조건을 사용하여 빌드의 입력에서 파일 또는 디렉터리 제외Using Conditions to Exclude a File or Directory from the Inputs for a Build

예를 들어 디버그 빌드에 포함하지만 릴리스 빌드에는 포함하지 않으려는 항목이 있는 경우 Condition 특성을 사용하여 항목을 포함할 조건을 지정할 수 있습니다.If there are items that you want to include, for example, in a Debug build but not a Release build, you can use the Condition attribute to specify the conditions under which to include the item.

Formula.vb 파일을 릴리스 빌드에만 포함하려면To include the file Formula.vb only in Release builds

  • 다음과 같이 Condition 특성을 사용합니다.Use a Condition attribute similar to the following:

    <Compile  
        Include="Formula.vb"  
        Condition=" '$(Configuration)' == 'Release' " />  
    

Example

다음 코드 예제에서는 Form2.cs를 제외한 모든 .cs 파일이 디렉터리에 포함된 프로젝트를 빌드합니다.The following code example builds a project with all of the .cs files in the directory except 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>  

참고 항목See Also

항목 Items
MSBuild 방법: 빌드할 파일 선택MSBuild How to: Select the Files to Build