2009-06-22 3 views

Antwort

17

Sie können ein zu überprüfendes Ziel erstellen, um sicherzustellen, dass sich alle Inhaltsdateien physisch auf dem Datenträger befinden, und einen Fehler auslösen, wenn dies nicht der Fall ist. Hier ist ein solches Ziel

<Target Name="ValidateContentFiles"> 
    <Error Condition="!Exists(%(Content.FullPath))" 
     Text="Missing Content file [%(Content.FullPath)]"/> 
</Target> 

Sie sicherstellen können, dass dieses Ziel jedes Mal durch das Hinzufügen ausgeführt wird, um die InitialTargets auf dem Projektelement zuordnen. Zum Beispiel

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

Sayed Ibrahim Hashimi

My Book: Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

0

Sie können auch die Fehlerbedingung hinzufügen in Before Ziel in CSPROJ wie folgt aus:

<Target Name="BeforeBuild"> 
<Error Condition="!Exists(%(Content.FullPath))" 
Text="Missing Content file [%(Content.FullPath)]"/> 
</Target> 

BeforeBuild wird immer beim Erstellen ausgeführt ein Projekt und Sie müssen das Ziel nicht zum InitialTargets-Attribut der Project-Eigenschaft hinzufügen.