Membersihkan build
Saat Anda membersihkan build, semua file perantara dan output dihapus, hanya menyisakan file proyek dan komponen. Dari file proyek dan komponen, instans baru file perantara dan output kemudian dapat dibangun.
Membuat direktori untuk item output
Secara default, file .exe yang dibuat saat Anda mengompilasi proyek ditempatkan di direktori yang sama dengan file proyek dan sumber. Namun, biasanya, item output dibuat dalam direktori terpisah.
Untuk membuat direktori item output
Gunakan
Property
elemen untuk menentukan lokasi dan nama direktori. Misalnya, buat direktori bernama BuiltApp di direktori yang berisi file proyek dan sumber:<builtdir>BuiltApp</builtdir>
Gunakan tugas MakeDir untuk membuat direktori jika direktori tidak ada. Contohnya:
<MakeDir Directories = "$(builtdir)" Condition = "!Exists('$(builtdir)')" />
Menghapus item output
Sebelum membuat instans baru file perantara dan output, Anda mungkin ingin menghapus semua instans sebelumnya dari file perantara dan output. Gunakan tugas RemoveDir untuk menghapus direktori dan semua file dan direktori yang dikandungnya dari disk.
Untuk menghapus direktori dan semua file yang terkandung dalam direktori
Gunakan tugas
RemoveDir
untuk menghapus direktori. Contohnya:<RemoveDir Directories="$(builtdir)" />
Contoh
Proyek contoh kode berikut berisi target baru, Clean
, yang menggunakan tugas RemoveDir
untuk menghapus direktori dan semua file serta direktori yang dikandungnya. Juga dalam contoh ini, target Compile
membuat direktori terpisah untuk item output yang dihapus saat build dibersihkan.
Compile
didefinisikan sebagai target default dan oleh karena itu digunakan secara otomatis kecuali Anda menentukan target atau target yang berbeda. Anda menggunakan sakelar baris perintah -target untuk menentukan target yang berbeda. Contohnya:
msbuild <file name>.proj -target:Clean
Sakelar -target dapat disingkat menjadi -t dan dapat menentukan lebih dari satu target. Misalnya, untuk menggunakan target Clean
maka target Compile
, ketik:
msbuild <file name>.proj -t:Clean;Compile
<Project DefaultTargets = "Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<!-- Set the application name as a property -->
<name>HelloWorldCS</name>
<!-- Set the output folder as a property -->
<builtdir>BuiltApp</builtdir>
</PropertyGroup>
<ItemGroup>
<!-- Specify the inputs by type and file name -->
<CSFile Include = "consolehwcs1.cs"/>
</ItemGroup>
<Target Name = "Compile">
<!-- Check whether an output folder exists and create
one if necessary -->
<MakeDir Directories = "$(builtdir)"
Condition = "!Exists('$(builtdir)')" />
<!-- Run the Visual C# compiler -->
<CSC Sources = "@(CSFile)"
OutputAssembly = "$(BuiltDir)\$(appname).exe">
<Output TaskParameter = "OutputAssembly"
ItemName = "EXEFile" />
</CSC>
<!-- Log the file name of the output file -->
<Message Text="The output file is @(EXEFile)"/>
</Target>
<Target Name = "Clean">
<RemoveDir Directories="$(builtdir)" />
</Target>
</Project>