チュートリアル: MSBuild プロジェクト ファイルのゼロからの作成Walkthrough: Creating an MSBuild Project File from Scratch

.NET Framework を対象とするプログラミング言語は、MSBuild プロジェクト ファイルを使用してアプリケーションのビルド プロセスを記述および制御します。Programming languages that target the .NET Framework use MSBuild project files to describe and control the application build process. Visual Studio を使用して MSBuild プロジェクト ファイルを作成すると、適切な XML が自動的に追加されますが、When you use Visual Studio to create an MSBuild project file, the appropriate XML is added to the file automatically. その XML がどのように構成されているかや、それに変更を加えてビルドを制御するにはどうすればよいかを知っておくことも有用です。However, you may find it helpful to understand how the XML is organized and how you can change it to control a build.

C++ プロジェクトのプロジェクト ファイルを作成する方法の詳細については、「MSBuild (Visual C++)」をご覧ください。For information about creating a project file for a C++ project, see MSBuild (Visual C++).

このチュートリアルでは、テキスト エディターのみを使用して、基本的なプロジェクト ファイルをインクリメント方式で作成する方法について説明します。This walkthrough shows how to create a basic project file incrementally, by using only a text editor. このチュートリアルの手順を以下に示します。The walkthrough follows these steps:

  • 最低限の内容のみを含むアプリケーション ソース ファイルを作成します。Create a minimal application source file.

  • 最低限の内容のみを含む MSBuild プロジェクト ファイルを作成します。Create a minimal MSBuild project file.

  • MSBuild が含まれるように PATH 環境変数を拡張します。Extend the PATH environment variable to include MSBuild.

  • プロジェクト ファイルを使用してアプリケーションをビルドします。Build the application by using the project file.

  • ビルドを制御するためのプロパティを追加します。Add properties to control the build.

  • プロパティの値を変更してビルドを制御します。Control the build by changing property values.

  • ビルド ターゲットを追加します。Add targets to the build.

  • ターゲットを指定してビルドを制御します。Control the build by specifying targets.

  • インクリメンタル ビルドを実行します。Build incrementally.

    このチュートリアルでは、コマンド プロンプトでプロジェクトをビルドして結果を確認する方法を説明します。This walkthrough shows how to build the project at the command prompt and examine the results. MSBuild の詳細および MSBuild をコマンド プロンプトで実行する方法の詳細については、「チュートリアル: MSBuild の使用」をご覧ください。For more information about MSBuild and how to run MSBuild at the command prompt, see Walkthrough: Using MSBuild.

    このチュートリアルを実行するには、.NET Framework (Version 2.0、3.5、4.0、または 4.5) がインストールされている必要があります。これらには、このチュートリアルに必要な MSBuild と Visual C# コンパイラが含まれています。To complete the walkthrough, you must have the .NET Framework (version 2.0, 3.5, 4.0, or 4.5) installed because it includes MSBuild and the Visual C# compiler, which are required for the walkthrough.

最低限の内容のみを含むアプリケーションを作成するCreating a Minimal Application

ここでは、最低限の内容のみを含む Visual C# アプリケーション ソース ファイルをテキスト エディターで作成する方法を説明します。This section shows how to create a minimal Visual C# application source file by using a text editor.

最低限の内容のみを含むアプリケーションを作成するにはTo create the minimal application

  1. コマンド プロンプトで、アプリケーションを作成するフォルダーに移動します (\My Documents\、\Desktop\ など)。At the command prompt, browse to the folder where you want to create the application, for example, \My Documents\ or \Desktop\.

  2. md HelloWorld」と入力して、\HelloWorld\ というサブフォルダーを作成します。Type md HelloWorld to create a subfolder named \HelloWorld\.

  3. cd HelloWorld」と入力して、その新しいフォルダーに移動します。Type cd HelloWorld to change to the new folder.

  4. メモ帳またはその他のテキスト エディターを起動して、次のコードを入力します。Start Notepad or another text editor, and then type the following code.

    using System;  
    
    class HelloWorld  
    {  
        static void Main()  
        {  
    #if DebugConfig  
            Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");  
    #endif  
    
            Console.WriteLine("Hello, world!");  
        }  
    }  
    
  5. このソース コード ファイルを Helloworld.cs という名前で保存します。Save this source code file and name it Helloworld.cs.

  6. コマンド プロンプトで「csc helloworld.cs」と入力して、アプリケーションをビルドします。Build the application by typing csc helloworld.cs at the command prompt.

  7. コマンド プロンプトで「helloworld」と入力して、アプリケーションをテストします。Test the application by typing helloworld at the command prompt.

    "Hello, world!" The Hello, world! というメッセージが表示されます。message should be displayed.

  8. コマンド プロンプトで「del helloworld.exe」と入力して、アプリケーションを削除します。Delete the application by typing del helloworld.exe at the command prompt.

最低限の内容のみを含む MSBuild プロジェクト ファイルを作成するCreating a Minimal MSBuild Project File

最低限の内容のみを含むアプリケーション ソース ファイルを作成できたので、次に、そのアプリケーションをビルドするための最低限の内容のみを含むプロジェクト ファイルを作成します。Now that you have a minimal application source file, you can create a minimal project file to build the application. このプロジェクト ファイルに含まれる要素は次のとおりです。This project file contains the following elements:

  • 必須のルート Project ノードThe required root Project node.

  • 項目要素を格納する ItemGroup ノードAn ItemGroup node to contain item elements.

  • アプリケーション ソース ファイルを参照する項目要素An item element that refers to the application source file.

  • アプリケーションをビルドするために必要なタスクを格納する Target ノードA Target node to contain tasks that are required to build the application.

  • アプリケーションをビルドするために Visual C# コンパイラを起動する Task 要素A Task element to start the Visual C# compiler to build the application.

最低限の内容のみを含む MSBuild プロジェクト ファイルを作成するにはTo create a minimal MSBuild project file

  1. テキスト エディターで、既存のテキストを次の 2 つの行に置き換えます。In the text editor, replace the existing text by using these two lines:

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    </Project>  
    
  2. 次の ItemGroup ノードを Project ノードの子要素として挿入します。Insert this ItemGroup node as a child element of the Project node:

    <ItemGroup>  
      <Compile Include="helloworld.cs" />  
    </ItemGroup>  
    

    この ItemGroup には既に項目要素が含まれています。Notice that this ItemGroup already contains an item element.

  3. Target ノードの子要素として Project ノードを追加します。Add a Target node as a child element of the Project node. そのノードに Build という名前を付けます。Name the node Build.

    <Target Name="Build">  
    </Target>  
    
  4. 次のタスク要素を Target ノードの子要素として挿入します。Insert this task element as a child element of the Target node:

    <Csc Sources="@(Compile)"/>  
    
  5. このプロジェクト ファイルを Helloworld.csproj という名前で保存します。Save this project file and name it Helloworld.csproj.

    最低限の内容のみを含むプロジェクト ファイルが完成すると、コードが次のようになります。Your minimal project file should resemble the following code:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <ItemGroup>  
    <Compile Include="helloworld.cs" />  
  </ItemGroup>  
  <Target Name="Build">  
    <Csc Sources="@(Compile)"/>    
  </Target>  
</Project>  

Build ターゲットのタスクは順番に実行されます。Tasks in the Build target are executed sequentially. ここでは、Visual C# コンパイラの Csc タスクが唯一のタスクです。In this case, the Visual C# compiler Csc task is the only task. このタスクは、コンパイルするソース ファイルのリストを受け取ります。これは、Compile 項目の値によって渡されます。It expects a list of source files to compile, and this is given by the value of the Compile item. Compile 項目は、Helloworld.cs という 1 つのソース ファイルのみを参照しています。The Compile item references just one source file, Helloworld.cs.

注意

項目要素でワイルドカード文字のアスタリスク () を使用して、拡張子 .cs を持つすべてのファイルを参照することもできます。次に例を示します。In the item element, you can use the asterisk wildcard character () to reference all files that have the .cs file name extension, as follows:

<Compile Include="*.cs" />

ただし、ワイルドカード文字を使用すると、ソース ファイルを追加または削除した場合にデバッグやターゲットの選択が困難になるため、できるだけ使用しないようにしてください。However, we do not recommend the use of wildcard characters because it makes debugging and selective targeting more difficult if source files are added or deleted.

MSBuild が含まれるようにパスを拡張するExtending the Path to Include MSBuild

MSBuild を使用するには、.NET Framework フォルダーが含まれるように PATH 環境変数を拡張する必要があります。Before you can access MSBuild, you must extend the PATH environment variable to include the .NET Framework folder.

MSBuild をパスに追加するにはTo add MSBuild to your path

  • Visual Studio 2013 では、MSBuild フォルダー (32 ビット オペレーティング システムの場合は %ProgramFiles%\MSBuild、64 ビット オペレーティング システムの場合は %ProgramFiles(x86)%\MSBuild) 内に MSBuild.exe があります。Starting in Visual Studio 2013, you can find MSBuild.exe in the MSBuild folder (%ProgramFiles%\MSBuild on a 32-bit operating system, or %ProgramFiles(x86)%\MSBuild on a 64-bit operating system).

    コマンド プロンプトで、「set PATH=%PATH%;%ProgramFiles%\MSBuild」または「set PATH=%PATH%;%ProgramFiles(x86)%\MSBuild」と入力します。At the command prompt, type set PATH=%PATH%;%ProgramFiles%\MSBuild or set PATH=%PATH%;%ProgramFiles(x86)%\MSBuild.

    Visual Studio がインストールされている場合は、Visual Studio コマンド プロンプトを使用することもできます。Visual Studio コマンド プロンプトでは、MSBuild フォルダーへのパスが設定されています。Alternatively, if you have Visual Studio installed, you can use the Visual Studio Command Prompt, which has a path that includes the MSBuild folder.

プロジェクト ファイルを使用してアプリケーションをビルドするUsing the Project File to Build the Application

次に、先ほど作成したプロジェクト ファイルを使用してアプリケーションをビルドします。Now, to build the application, use the project file that you just created.

アプリケーションをビルドするにはTo build the application

  1. コマンド プロンプトで、「msbuild helloworld.csproj/t:Build」と入力します。At the command prompt, type msbuild helloworld.csproj /t:Build.

    Visual C# コンパイラが呼び出され、Helloworld プロジェクト ファイルの Build ターゲットがビルドされて、Helloworld アプリケーションが作成されます。This builds the Build target of the Helloworld project file by invoking the Visual C# compiler to create the Helloworld application.

  2. helloworld」と入力してアプリケーションをテストします。Test the application by typing helloworld.

    "Hello, world!" The Hello, world! というメッセージが表示されます。message should be displayed.

注意

詳細レベルを上げると、ビルドの詳細情報を表示できます。You can see more details about the build by increasing the verbosity level. 詳細レベルを "detailed" に設定するには、コマンド プロンプトで次のいずれかのコマンドを入力します。To set the verbosity level to "detailed", type either of these commands at the command prompt:

msbuild helloworld.csproj /t:Build /verbosity:detailedmsbuild helloworld.csproj /t:Build /verbosity:detailed

ビルド プロパティを追加するAdding Build Properties

プロジェクト ファイルにビルド プロパティを追加すると、ビルドをさらに細かく制御できます。You can add build properties to the project file to further control the build. ここでは、次のプロパティを追加します。Now add these properties:

  • アプリケーションの名前を指定する AssemblyName プロパティAn AssemblyName property to specify the name of the application.

  • アプリケーションを格納するフォルダーを指定する OutputPath プロパティAn OutputPath property to specify a folder to contain the application.

ビルド プロパティを追加するにはTo add build properties

  1. コマンド プロンプトで「del helloworld.exe」と入力して、既存のアプリケーションを削除します。Delete the existing application by typing del helloworld.exe at the command prompt.

  2. プロジェクト ファイルで、次の PropertyGroup 要素を開始 Project 要素の直後に挿入します。In the project file, insert this PropertyGroup element just after the opening Project element:

    <PropertyGroup>  
      <AssemblyName>MSBuildSample</AssemblyName>  
      <OutputPath>Bin\</OutputPath>  
    </PropertyGroup>  
    
  3. 次のタスクを Build ターゲットの Csc タスクの直前に追加します。Add this task to the Build target, just before the Csc task:

    <MakeDir Directories="$(OutputPath)"      Condition="!Exists('$(OutputPath)')" />  
    

    この MakeDir タスクは、OutputPath プロパティによって指定されるフォルダーを、同名のフォルダーが存在しない場合に作成します。The MakeDir task creates a folder that is named by the OutputPath property, provided that no folder by that name currently exists.

  4. 次の OutputAssembly 属性を Csc タスクに追加します。Add this OutputAssembly attribute to the Csc task:

    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />  
    

    この属性は、Visual C# コンパイラに対して、AssemblyName プロパティによって指定されるアセンブリを生成し、OutputPath プロパティによって指定されるフォルダーに配置するように指定します。This instructs the Visual C# compiler to produce an assembly that is named by the AssemblyName property and to put it in the folder that is named by the OutputPath property.

  5. 変更内容を保存します。Save your changes.

    プロジェクト ファイルのコードが次のようになります。Your project file should now resemble the following code:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <PropertyGroup>  
    <AssemblyName>MSBuildSample</AssemblyName>  
    <OutputPath>Bin\</OutputPath>  
  </PropertyGroup>  
  <ItemGroup>  
    <Compile Include="helloworld.cs" />  
  </ItemGroup>  
  <Target Name="Build">  
    <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />  
    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />  
  </Target>  
</Project>  

注意

パス区切り記号の円記号 (\) は、Csc タスクの OutputAssembly 属性に追加するのではなく、OutputPath 要素で指定するフォルダー名の末尾に追加することをお勧めします。We recommend that you add the backslash (\) path delimiter at the end of the folder name when you specify it in the OutputPath element, instead of adding it in the OutputAssembly attribute of the Csc task. 次に例を示します。Therefore,

<OutputPath>Bin\</OutputPath>

OutputAssembly=="$(OutputPath)$(AssemblyName).exe" />

この形式が次の形式より推奨されます。is better than

<OutputPath>Bin</OutputPath>

OutputAssembly=="$(OutputPath)\$(AssemblyName).exe" />

ビルド プロパティをテストするTesting the Build Properties

次に、ビルド プロパティで出力フォルダーとアプリケーション名を指定したプロジェクト ファイルを使用してアプリケーションをビルドします。Now you can build the application by using the project file in which you used build properties to specify the output folder and application name.

ビルド プロパティをテストするにはTo test the build properties

  1. コマンド プロンプトで、「msbuild helloworld.csproj/t:Build」と入力します。At the command prompt, type msbuild helloworld.csproj /t:Build.

    \Bin\ フォルダーが作成され、Visual C# コンパイラが呼び出されて、MSBuildSample アプリケーションが作成されて \Bin\ フォルダーに配置されます。This creates the \Bin\ folder and then invokes the Visual C# compiler to create the MSBuildSample application and puts it in the \Bin\ folder.

  2. dir Bin」と入力して、\Bin\ フォルダーが作成されていることと、そこに MSBuildSample アプリケーションが含まれていることを確認します。To verify that the \Bin\ folder has been created, and that it contains the MSBuildSample application, type dir Bin.

  3. Bin\MSBuildSample」と入力してアプリケーションをテストします。Test the application by typing Bin\MSBuildSample.

    "Hello, world!" The Hello, world! というメッセージが表示されます。message should be displayed.

ビルド ターゲットを追加するAdding Build Targets

次に、次の 2 つのターゲットをプロジェクト ファイルに追加します。Next, add two more targets to the project file, as follows:

  • 古いファイルを削除する Clean ターゲットA Clean target that deletes old files.

  • DependsOnTargets 属性を使用して Build タスクの前に強制的に Clean タスクを実行する Rebuild ターゲットA Rebuild target that uses the DependsOnTargets attribute to force the Clean task to run before the Build task.

    ターゲットが複数になるので、Build ターゲットを既定のターゲットに設定します。Now that you have multiple targets, you can set the Build target as the default target.

ビルド ターゲットを追加するにはTo add build targets

  1. プロジェクト ファイルで、Build ターゲットの直後に次の 2 つのターゲットを追加します。In the project file, add these two targets just after the Build target:

    <Target Name="Clean" >  
      <Delete Files="$(OutputPath)$(AssemblyName).exe" />  
    </Target>  
    <Target Name="Rebuild" DependsOnTargets="Clean;Build" />  
    

    Clean ターゲットは、Delete タスクを呼び出してアプリケーションを削除します。The Clean target invokes the Delete task to delete the application. Rebuild ターゲットは、Clean ターゲットと Build ターゲットの両方が実行されるまで実行されません。The Rebuild target does not run until both the Clean target and the Build target have run. Rebuild ターゲットにはタスクは含まれていませんが、このターゲットにより、Build ターゲットの前に Clean ターゲットが実行されるようになります。Although the Rebuild target has no tasks, it causes the Clean target to run before the Build target.

  2. 次の DefaultTargets 属性を開始 Project 要素に追加します。Add this DefaultTargets attribute to the opening Project element:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
    

    これにより、Build ターゲットが既定のターゲットに設定されます。This sets the Build target as the default target.

    プロジェクト ファイルのコードが次のようになります。Your project file should now resemble the following code:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">  
  <PropertyGroup>  
    <AssemblyName>MSBuildSample</AssemblyName>  
    <OutputPath>Bin\</OutputPath>  
  </PropertyGroup>  
  <ItemGroup>  
    <Compile Include="helloworld.cs" />  
  </ItemGroup>  
  <Target Name="Build">  
    <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />  
    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />  
  </Target>  
  <Target Name="Clean" >  
    <Delete Files="$(OutputPath)$(AssemblyName).exe" />  
  </Target>  
  <Target Name="Rebuild" DependsOnTargets="Clean;Build" />  
</Project>  

ビルド ターゲットをテストするTesting the Build Targets

新しいビルド ターゲットを使用して、プロジェクト ファイルの以下の機能をテストします。You can exercise the new build targets to test these features of the project file:

  • 既定のビルドをビルドする。Building the default build.

  • コマンド プロンプトでアプリケーション名を設定する。Setting the application name at the command prompt.

  • 別のアプリケーションをビルドする前にアプリケーションを削除する。Deleting the application before another application is built.

  • 別のアプリケーションをビルドせずにアプリケーションを削除する。Deleting the application without building another application.

ビルド ターゲットをテストするにはTo test the build targets

  1. コマンド プロンプトで、「msbuild helloworld.csproj /p:AssemblyName=Greetings」と入力します。At the command prompt, type msbuild helloworld.csproj /p:AssemblyName=Greetings.

    /t スイッチを使用してターゲットを明示的に設定していないため、既定の Build ターゲットがビルドされます。Because you did not use the /t switch to explicitly set the target, MSBuild runs the default Build target. /p スイッチでは、AssemblyName プロパティをオーバーライドして新しい値 Greetings を割り当てています。The /p switch overrides the AssemblyName property and gives it the new value, Greetings. これにより、Greetings.exe という新しいアプリケーションが \Bin\ フォルダーに作成されます。This causes a new application, Greetings.exe, to be created in the \Bin\ folder.

  2. dir Bin」と入力して、\Bin\ フォルダーに MSBuildSample アプリケーションと新しい Greetings アプリケーションの両方が含まれていることを確認します。To verify that the \Bin\ folder contains both the MSBuildSample application and the new Greetings application, type dir Bin.

  3. Bin\Greetings」と入力して、Greetings アプリケーションをテストします。Test the Greetings application by typing Bin\Greetings.

    "Hello, world!" The Hello, world! というメッセージが表示されます。message should be displayed.

  4. msbuild helloworld.csproj /t:clean」を入力して、MSBuildSample アプリケーションを削除します。Delete the MSBuildSample application by typing msbuild helloworld.csproj /t:clean.

    Clean タスクが実行されて、AssemblyName プロパティの値が既定値の MSBuildSample になっているアプリケーションが削除されます。This runs the Clean task to remove the application that has the default AssemblyName property value, MSBuildSample.

  5. msbuild helloworld.csproj /t:clean /p:AssemblyName=Greetings」を入力して、Greetings アプリケーションを削除します。Delete the Greetings application by typing msbuild helloworld.csproj /t:clean /p:AssemblyName=Greetings.

    Clean タスクが実行されて、AssemblyName プロパティの値が、指定した値 Greetings になっているアプリケーションが削除されます。This runs the Clean task to remove the application that has the given AssemblyName property value, Greetings.

  6. dir Bin」と入力して、\Bin\ フォルダーが空になったことを確認します。To verify that the \Bin\ folder is now empty, type dir Bin.

  7. msbuild」と入力します。Type msbuild.

    プロジェクト ファイルが指定されていませんが、現在のフォルダーにはプロジェクト ファイルが 1 つしかないため、helloworld.csproj ファイルがビルドされます。Although a project file is not specified, MSBuild builds the helloworld.csproj file because there is only one project file in the current folder. その結果、\Bin\ フォルダーに MSBuildSample アプリケーションが作成されます。This causes the MSBuildSample application to be created in the \Bin\ folder.

    dir Bin」と入力して、\Bin\ フォルダーに MSBuildSample アプリケーションが含まれていることを確認します。To verify that the \Bin\ folder contains the MSBuildSample application, type dir Bin.

インクリメンタル ビルドを実行するBuilding Incrementally

MSBuild では、ターゲットが依存しているソース ファイルやターゲット ファイルが変更された場合にのみターゲットをビルドすることができます。You can tell MSBuild to build a target only if the source files or target files that the target depends on have changed. ファイルが変更されているかどうかはファイルのタイム スタンプを使用して特定されます。MSBuild uses the time stamp of a file to determine whether it has changed.

インクリメンタル ビルドを実行するにはTo build incrementally

  1. プロジェクト ファイルで、開始 Build ターゲットに次の属性を追加します。In the project file, add these attributes to the opening Build target:

    Inputs="@(Compile)" Outputs="$(OutputPath)$(AssemblyName).exe"  
    

    ここでは、Compile 項目グループに指定されている入力ファイルに Build ターゲットが依存していること、出力対象がアプリケーション ファイルであることを指定しています。This specifies that the Build target depends on the input files that are specified in the Compile item group, and that the output target is the application file.

    この結果、Build ターゲットのコードは次のようになります。The resulting Build target should resemble the following code:

    <Target Name="Build" Inputs="@(Compile)" Outputs="$(OutputPath)$(AssemblyName).exe">  
      <MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />  
      <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />  
    </Target>  
    
  2. コマンド プロンプトで「msbuild /v:d」と入力して、Build ターゲットをテストします。Test the Build target by typing msbuild /v:d at the command prompt.

    helloworld.csproj が既定のプロジェクト ファイルであること、Build が既定のターゲットであることに注意してください。Remember that helloworld.csproj is the default project file, and that Build is the default target.

    /v:d スイッチは、ビルド処理の詳細な説明を表示するように指定します。The /v:d switch specifies a verbose description for the build process.

    以下の行が表示されます。These lines should be displayed:

    すべての出力ファイルが入力ファイルに対して最新なので、ターゲット "Build" を省略します。Skipping target "Build" because all output files are up-to-date with respect to the input files.

    入力ファイル: HelloWorld.csInput files: HelloWorld.cs

    出力ファイル: BinMSBuildSample.exeOutput files: BinMSBuildSample.exe

    アプリケーションがビルドされてから変更されたソース ファイルがないため、Build ターゲットはスキップされます。MSBuild skips the Build target because none of the source files have changed since the application was last built.

Example

説明Description

次の例は、Visual C#Visual C# アプリケーションをコンパイルし、出力ファイル名を含むメッセージを記録するプロジェクト ファイルを示しています。The following example shows a project file that compiles a Visual C#Visual C# application and logs a message that contains the output file name.

コードCode

<Project DefaultTargets = "Compile"  
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >  

    <!-- Set the application name as a property -->  
    <PropertyGroup>  
        <appname>HelloWorldCS</appname>  
    </PropertyGroup>  

    <!-- Specify the inputs by type and file name -->  
    <ItemGroup>  
        <CSFile Include = "consolehwcs1.cs"/>  
    </ItemGroup>  

    <Target Name = "Compile">  
        <!-- Run the Visual C# compilation using input files of type CSFile -->  
        <CSC  
            Sources = "@(CSFile)"  
            OutputAssembly = "$(appname).exe">  
            <!-- Set the OutputAssembly attribute of the CSC task  
            to the name of the executable file that is created -->  
            <Output  
                TaskParameter = "OutputAssembly"  
                ItemName = "EXEFile" />  
        </CSC>  
        <!-- Log the file name of the output file -->  
        <Message Text="The output file is @(EXEFile)"/>  
    </Target>  
</Project>  

コメントComments

Example

説明Description

次の例は、Visual BasicVisual Basic アプリケーションをコンパイルし、出力ファイル名を含むメッセージを記録するプロジェクト ファイルを示しています。The following example shows a project file that compiles a Visual BasicVisual Basic application and logs a message that contains the output file name.

コードCode

<Project DefaultTargets = "Compile"  
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >  

    <!-- Set the application name as a property -->  
    <PropertyGroup>  
        <appname>HelloWorldVB</appname>  
    </PropertyGroup>  

    <!-- Specify the inputs by type and file name -->  
    <ItemGroup>  
        <VBFile Include = "consolehwvb1.vb"/>  
    </ItemGroup>  

    <Target Name = "Compile">      
        <!-- Run the Visual Basic compilation using input files of type VBFile -->  
        <VBC  
            Sources = "@(VBFile)"  
            OutputAssembly= "$(appname).exe">  
            <!-- Set the OutputAssembly attribute of the VBC task  
            to the name of the executable file that is created -->  
            <Output  
                TaskParameter = "OutputAssembly"  
                ItemName = "EXEFile" />  
        </VBC>  
        <!-- Log the file name of the output file -->  
        <Message Text="The output file is @(EXEFile)"/>  
    </Target>  
</Project>  

次の内容What's Next?

このチュートリアルで説明した作業の大半は、Visual Studio で自動的に実行できます。Visual Studio can automatically do much of the work that is shown in this walkthrough. Visual Studio を使用して MSBuild プロジェクト ファイルを作成、編集、ビルド、およびテストする方法については、「チュートリアル: MSBuild の使用」をご覧ください。To learn how to use Visual Studio to create, edit, build, and test MSBuild project files, see Walkthrough: Using MSBuild.

関連項目See Also

MSBuild の概要MSBuild Overview
MSBuild リファレンスMSBuild Reference