2010-06-28 67 views
4

我似乎有一種情況,我把代碼放入BeforeBuild目標沒有成功執行。MSBuild目標構建之前不執行

以下是我有:

<Target Name="BeforeBuild" > 
    <Message Text="Before Build" /> 
</Target> 

我不能看到生成日誌消息輸出編譯運行時。我對格式化的方式有什麼問題,或者它是否必須位於腳本的特定位置?我甚至正在尋找這些消息的正確位置?

編輯:更改爲高的重要性,似乎沒有什麼區別

+0

你如何啓動腳本?你在哪裏尋找信息?嘗試將屬性Importance =「high」添加到消息任務。 – 2010-06-28 11:30:17

+0

我正在查看構建日誌 - 這是錯誤的地方? – 2010-06-28 11:55:53

+0

這是正確的地方。你可以在這裏粘貼項目文件內容嗎? – 2010-06-28 12:05:09

回答

0

,需要準確覆蓋前構建目標。最簡單的方法是在標記之前插入override,或者將此任務聲明爲DefaultTargets。

<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    <!-- Override TFS build targets and run custom made ones --> 
    <Target Name="BeforeCompile" DependsOnTargets="VersionAssemblies"></Target> 
    <Target Name="AfterCompile" DependsOnTargets="GetTime;RunTests;CreateHTMLReport;Mail"></Target> 
    <Target Name="AfterDropBuild" DependsOnTargets="RemovePrevContent;CopySrcBinaries;ZipBinPackages;CopyAllContent;RemoveBindings"></Target> 

</Project> 
+0

當我覆蓋BeforeCompile時,它工作。但是重寫BeforeBuild不會。指定DefaultTargets似乎並不重要 - 如果解決方案的.proj文件中有某些內容,它似乎將其用作首選項。 – 2010-06-28 12:43:10

相關問題