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

여러 파일이 포함된 프로젝트를 빌드할 경우 각 파일을 프로젝트 파일에 개별적으로 나열하거나, 와일드카드를 사용하여 모든 파일을 하나의 디렉터리 또는 중첩된 디렉터리 집합에 포함할 수 있습니다.When you build a project that contains several files, you can list each file separately in the project file, or you can use wildcards to include all the files in one directory or a nested set of directories.

입력 지정Specifying Inputs

항목은 빌드의 입력을 나타냅니다.Items represent the inputs for a build. 항목에 대한 자세한 내용은 항목을 참조하세요.For more information on items, see Items.

빌드용 파일을 포함하려면 파일이 MSBuildMSBuild 프로젝트 파일의 항목 목록에 포함되어야 합니다.To include files for a build, they must be included in an item list in the MSBuildMSBuild project file. 파일을 개별적으로 포함하거나 와일드카드를 사용하여 많은 파일을 한 번에 포함하는 방식으로 여러 파일을 항목 목록에 추가할 수 있습니다.Multiple files can be added to item lists by either including the files individually or using wildcards to include many files at once.

항목을 개별적으로 선언하려면To declare items individually

  • 다음과 비슷한 Include 특성을 사용합니다.Use the Include attributes similar to following:

    <CSFile Include="form1.cs"/>

    • 또는or -

      <VBFile Include="form1.vb"/>

    참고

    항목 컬렉션의 항목이 프로젝트 파일과 같은 디렉터리에 있지 않으면 항목의 전체 또는 상대 경로를 지정해야 합니다.If items in an item collection are not in the same directory as the project file, you must specify the full or relative path to the item. 예: Include="..\..\form2.cs"For example: Include="..\..\form2.cs".

여러 항목을 선언하려면To declare multiple items

  • 다음과 비슷한 Include 특성을 사용합니다.Use the Include attributes similar to following:

    <CSFile Include="form1.cs;form2.cs"/>

    • 또는or -

      <VBFile Include="form1.vb;form2.vb"/>

와일드카드를 사용하여 입력 지정Specifying Inputs with Wildcards

와일드카드를 사용하여 하위 디렉터리의 모든 파일 또는 특정 파일만 빌드의 입력으로 재귀적으로 포함할 수도 있습니다.You can also use wildcards to recursively include all files or only specific files from subdirectories as inputs for a build. 와일드카드에 대한 자세한 내용은 항목을 참조하세요.For more information about wildcards, see Items

다음 예제는 프로젝트 파일이 Project 디렉터리에 있는, 다음 디렉터리와 하위 디렉터리에 그래픽 파일이 포함된 프로젝트를 기반으로 합니다.The following examples are based on a project that contains graphics files in the following directories and subdirectories, with the project file located in the Project directory:

Project\Images\BestJpgsProject\Images\BestJpgs

Project\Images\ImgJpgsProject\Images\ImgJpgs

Project\Images\ImgJpgs\Img1Project\Images\ImgJpgs\Img1

Images 디렉터리 및 하위 디렉터리의 모든 .jpg 파일을 포함하려면To include all .jpg files in the Images directory and subdirectories

  • 다음 Include 특성을 사용합니다.Use the following Include attribute:

    Include="Images\**\*.jpg"

“img”로 시작하는 모든 .jpg 파일을 포함하려면To include all .jpg files starting with "img"

  • 다음 Include 특성을 사용합니다.Use the following Include attribute:

    Include="Images\**\img*.jpg"

디렉터리에서 이름이 “jpgs”로 끝나는 모든 파일을 포함하려면To include all files in directories with names ending in "jpgs"

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

    Include="Images\**\*jpgs\*.*"

    • 또는or -

      Include="Images\**\*jpgs\*"

작업에 항목 전달Passing Items to a Task

프로젝트 파일에서 @() 표기법을 사용하여 전체 항목 목록을 빌드의 입력으로 지정할 수 있습니다.In a project file, you can use the @() notation in tasks to specify an entire item list as the input for a build. 모든 파일을 개별적으로 나열하든지, 와일드카드를 사용하든지 관계없이 이 표기법을 사용할 수 있습니다.You can use this notation whether you list all files separately or use wildcards.

모든 Visual C# 또는 Visual Basic 파일을 입력으로 사용하려면To use all Visual C# or Visual Basic files as inputs

  • 다음과 비슷한 Include 특성을 사용합니다.Use the Include attributes similar to the following:

    <CSC Sources="@(CSFile)">...</CSC>

    • 또는or -

      <VBC Sources="@(VBFile)">...</VBC>

참고

항목과 함께 와일드카드를 사용해서 빌드의 입력을 지정해야 합니다. 입력을 지정하는 데 Csc 또는 Vbc와 같은 MSBuildMSBuild 작업의 Sources 특성을 사용할 수는 없습니다.You must use wildcards with items to specifiy the inputs for a build; you cannot specify the inputs using the Sources attribute in MSBuildMSBuild tasks such as Csc or Vbc. 다음 예제는 프로젝트 파일에서 유효하지 않습니다.The following example is not valid in a project file:

<CSC Sources="*.cs">...</CSC>

예제Example

다음 코드 예제에서는 모든 입력 파일을 개별적으로 포함하는 프로젝트를 보여 줍니다.The following code example shows a project that includes all of the input files separately.

<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>  

예제Example

다음 코드 예제에서는 와일드카드를 사용하여 모든 .cs 파일을 포함합니다.The following code example uses a wildcard to include all the .cs files.

<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>  

참고 항목See Also

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