2011-01-06 82 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