Aracılığıyla paylaş


Nasıl yapılır: temiz bir yapı oluşturma

Bir yapý temizlerken, yalnızca proje ve bileşen dosyaları bırakma tüm ara ve çıkış dosyaları silinir.Proje ve bileşen dosyalarından Ara yeni örneklerini ve çıktı dosyalarını sonra oluşturulabilir.Kitaplık ile sağlanan genel görevler MSBuild içeren bir Exec sistem komutları çalıştırmak için kullanabileceğiniz bir görev.Görevleri kitaplığı hakkında daha fazla bilgi için bkz: MSBuild görevi başvurusu.

Çıktı için bir dizin oluşturmak

Varsayılan olarak, proje ve kaynak dosyaları ile aynı dizinde bir projesini derlediğinizde oluşturduğunuz .exe dosyası yerleştirilir.Genellikle, ancak çıkış maddeler farklı bir dizinde oluşturulur.

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

  1. Use Property dizinin adını ve konumunu tanımlamak için öğe.Örneğin, adlı bir dizin oluşturma BuiltApp proje ve kaynak dosyalarını içeren dizinin içinde:

    <builtdir>BuiltApp</builtdir>

  2. Use MakeDir dizini yoksa, dizin oluşturmak için görev.Örne?in:

    <MakeDir Directories = "$(builtdir)"

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

Çıktı öğeleri kaldırma

Ara ve çıkış dosyaları'nın yeni kopyalarını oluşturmak için önce ara ve çıkış dosyaları önceki tüm örneklerini temizlemek isteyebilirsiniz.Use RemoveDir bir diskten bir dizinin ve tüm dosyaların ve onu içeren dizinleri silmek için görev.

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

  • Use RemoveDir dizini kaldırmak için görev.Örne?in:

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

Örnek

Aşağıdaki kod örneği proje içeren yeni bir hedef Clean, kullanan RemoveDir bir dizinin ve tüm dosyaların ve onu içeren dizinleri silmek için görev.Ayrıca bu örnekte, Compile hedef yapı Temizlenen silinir çıktı öğeler için ayrı bir dizin oluşturur.

CompileVarsayılan hedef olarak tanımlanır ve başka bir hedef veya hedef belirtmediğiniz sürece bu nedenle otomatik olarak kullanılır.Komut satırı anahtarı kullanmak /target farklı bir hedef belirlemek için.Örne?in:

msbuild <file name>.proj /target:Clean

/target Geçiş kısaltılmış için /t ve birden fazla hedef belirtebilirsiniz.Örneğin, hedef kullanmak için Clean hedef Compile, türü:

msbuild <file name>.proj /t:Clean;Compile

<Project DefaultTargets = "Compile"
    xmlns="https://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>

Ayrıca bkz.

Başvuru

Exec görev

MakeDir görev

RemoveDir görev

CSC görev

Kavramlar

MSBuild hedefleri