Vyčištění sestavení
Když vyčistíte sestavení, odstraní se všechny zprostředkující a výstupní soubory, takže ponecháte jenom soubory projektu a komponent. Ze souborů projektu a komponent je pak možné sestavit nové instance zprostředkujících a výstupních souborů.
Vytvoření adresáře pro výstupní položky
Ve výchozím nastavení je soubor .exe, který je vytvořen při kompilaci projektu je umístěn ve stejném adresáři jako projekt a zdrojové soubory. Výstupní položky se ale obvykle vytvářejí v samostatném adresáři.
Vytvoření adresáře pro výstupní položky
Pomocí elementu
Property
definujte umístění a název adresáře. Vytvořte například adresář s názvem BuiltApp v adresáři, který obsahuje projekt a zdrojové soubory:<builtdir>BuiltApp</builtdir>
Pomocí úlohy MakeDir vytvořte adresář, pokud adresář neexistuje. Příklad:
<MakeDir Directories = "$(builtdir)" Condition = "!Exists('$(builtdir)')" />
Odebrání výstupních položek
Před vytvořením nových instancí zprostředkujících a výstupních souborů můžete chtít vymazat všechny předchozí instance zprostředkujících a výstupních souborů. Pomocí úlohy RemoveDir odstraňte adresář a všechny soubory a adresáře, které obsahuje z disku.
Odebrání adresáře a všech souborů obsažených v adresáři
RemoveDir
Pomocí úlohy odeberte adresář. Příklad:<RemoveDir Directories="$(builtdir)" />
Příklad
Následující ukázkový projekt kódu obsahuje nový cíl , Clean
který používá RemoveDir
úkol k odstranění adresáře a všech souborů a adresářů, které obsahuje. V tomto příkladu Compile
cíl vytvoří samostatný adresář pro výstupní položky, které se odstraní při vyčištění sestavení.
Compile
je definován jako výchozí cíl, a proto se používá automaticky, pokud nezadáte jiný cíl nebo cíle. K určení jiného cíle použijete přepínač příkazového řádku -target . Příklad:
msbuild <file name>.proj -target:Clean
Přepínač -target lze zkrátit na -t a zadat více než jeden cíl. Pokud chcete například použít cílClean
, zadejte: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>