2011-01-06 99 views
0

我在我的WPF項目<target>標記有問題。問題創建MSBUILD腳本

我想要做的是在我在TFS 2010中設置的自動化團隊構建中實現構建後事件,該構建會觸發一個用於測量稱爲NDepend的代碼度量標準的集成軟件。我相信NDepend的site給出了我需要做的一些代碼示例。這些代碼片段如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="NDepend" > 
    <PropertyGroup> 
     <NDPath>c:\tools\NDepend\NDepend.console.exe</NDPath> 
     <NDProject>$(SolutionDir)MyProject.ndproj</NDProject> 
     <NDOut>$(TargetDir)NDepend</NDOut> 
     <NDIn>$(TargetDir)</NDIn> 
    </PropertyGroup> 
    <Exec 
     Command='"$(NDPath)" "$(NDProject)" /OutDir "$(NDOut)" /InDirs "$(NDIn)"'/> 
    </Target> 
</Project> 

<Target Name="AfterCompile" > 
    <BuildStep   TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
     BuildUri="$(BuildUri)" 
     Message="Running NDepend analysis"> 
     <Output TaskParameter="Id" PropertyName="StepId" /> 
    </BuildStep> 
    <PropertyGroup> 
     <NDPath>c:\tools\NDepend\NDepend.console.exe</NDPath> 
     <NDProject>$(SolutionRoot)\Main\src\MyProject.ndproj</NDProject> 
     <NDOut>$(BinariesRoot)\NDepend</NDOut> 
     <NDIn>$(BinariesRoot)\Release</NDIn> 
    </PropertyGroup> 
    <Exec 
     Command='$(NDPath) "$(NDProject)" /OutDir "$(NDOut)" /InDirs "$(NDIn)"'/> 
    <BuildStep 
     TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
     BuildUri="$(BuildUri)" 
     Id="$(StepId)" 
     Status="Succeeded" /> 
    <OnError ExecuteTargets="MarkBuildStepAsFailed" /> 
</Target> 

<Target Name="MarkBuildStepAsFailed"> 
    <BuildStep 
     TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
     BuildUri="$(BuildUri)" 
     Id="$(StepId)" 
     Status="Failed" /> 
</Target> 

我遇到了麻煩,不過,試圖找到在哪裏把這個代碼時。該網站可能會告訴我我需要知道的一切,我只是忽略它或什麼,我不知道。但是,無論我嘗試在<target>標籤中輸入什麼地方,VS只是表現得無法識別它。事實上,當我嘗試在上面的代碼片段中輸入幾乎所有的標籤時,VS似乎都沒有認出它。

我是否錯過某個(某些)程序集引用?

我已經寫過一些XAML,但是我從來沒有見過「目標」作爲標籤,我總是以屬性的形式看到它。所以當我最初在他們的網站上看到這個代碼時,它對我來說看起來有點奇怪,但我只是認爲這是因爲我沒有接觸過XAML。

編輯:上面這段是錯誤的 - 正如在評論中看到,上述代碼是XML,而不是XAML

該網站不說,鑑於代碼片段是VS2008,這確實讓不同,我明白。但是,我沒有意識到這是一個很大的區別。

因此,它可能只是從2008年到2010年的差異?在這種情況下,上述2008年的代碼和2010年的代碼有什麼不同?

回答

1

這不是WPF或XAML,它只是普通的舊XML。

這是一個腳本的MSBuild通常去在.proj文件不是一個文件名爲.xaml

+0

Ahhhhh..that可以解釋爲什麼它看起來奇怪,在VS.爲什麼沒有註冊那麼,我只需進入我的解決方案,添加一個新項目,然後選擇「XML文件」,並將上面的代碼放在那裏? – AmbiguousX 2011-01-06 19:24:28