Aracılığıyla paylaş


Derlemeyi temizleme

Bir derlemeyi temizlediğinizde, tüm ara ve çıkış dosyaları silinir ve yalnızca proje ve bileşen dosyaları bırakılır. Daha sonra proje ve bileşen dosyalarından ara ve çıkış dosyalarının yeni örnekleri oluşturulabilir.

Çıkış öğeleri için dizin oluşturma

Varsayılan olarak, bir projeyi derlerken oluşturulan .exe dosyası proje ve kaynak dosyalarıyla aynı dizine yerleştirilir. Ancak genellikle çıkış öğeleri ayrı bir dizinde oluşturulur.

Çıkış öğeleri için dizin oluşturmak için

  1. Property dizinin konumunu ve adını tanımlamak için öğesini kullanın. Örneğin, proje ve kaynak dosyalarını içeren dizinde BuiltApp adlı bir dizin oluşturun:

    <builtdir>BuiltApp</builtdir>

  2. Dizin yoksa dizini oluşturmak için MakeDir görevini kullanın. Örneğin:

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

Çıkış öğelerini kaldırma

Ara ve çıkış dosyalarının yeni örneklerini oluşturmadan önce, ara ve çıkış dosyalarının önceki tüm örneklerini temizlemek isteyebilirsiniz. RemoveDir görevini kullanarak bir dizini ve içerdiği tüm dosyaları ve dizinleri diskten silin.

Bir dizini ve dizinin içerdiği tüm dosyaları kaldırmak için

  • RemoveDir Dizini kaldırmak için görevi kullanın. Örneğin:

    <RemoveDir Directories="$(builtdir)" />

Örnek

Aşağıdaki kod örneği projesi, Cleanbir dizini ve içerdiği tüm dosya ve dizinleri silmek için görevini kullanan RemoveDir yeni bir hedef içerir. Ayrıca bu örnekte hedef, Compile derleme temizlendiğinde silinen çıkış öğeleri için ayrı bir dizin oluşturur.

Compile varsayılan hedef olarak tanımlanır ve bu nedenle farklı bir hedef veya hedef belirtmediğiniz sürece otomatik olarak kullanılır. Farklı bir hedef belirtmek için -target komut satırı anahtarını kullanırsınız. Örneğin:

msbuild <file name>.proj -target:Clean

-target anahtarı -t olarak kısaltılabilir ve birden fazla hedef belirtebilir. Örneğin, hedefi kullanmak için hedef Clean yazın Compile:

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>