2011-01-06 5 views
0

У меня возникли проблемы с тегом в моем проекте WPF.Проблема Создание MSBUILD Script

То, что я пытаюсь сделать, - это реализовать событие после сборки в сборке автоматизированных команд, который я установил в TFS 2010, который запускает часть интегрированного программного обеспечения для измерения метрик кода, называемого NDepend. NDepend's 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.

EDIT: Данный пункт является ошибочным - Как видно в комментариях, вышеупомянутый код XML, а не XAML

На сайте действительно говорит о том, что фрагменты кода приведены для VS2008, который действительно делает разница, я понимаю. Тем не менее, я не понимал, что это было большим различием.

Так может быть, это просто разница с 2008 по 2010 год? В этом случае, какова разница в кодексе от 2008 года, приведенном выше, и какова она должна быть в 2010 году?

ответ

1

Это не WPF или XAML, это просто старый XML.

Это сценарий MSBuild, который обычно идет в .proj файл не .xaml файл

+0

Ahhhhh..that бы объяснить, почему это выглядело странно и почему ничего не зарегистрированы в VS. Так что я просто зайду в свое решение, добавлю новый элемент и выберем «XML-файл» и просто поставлю код выше? – AmbiguousX

+0

Откройте один из существующих .csproj (файл csproj сам по себе как файл MSBuild) в блокноте. Добавьте образец кода с сайта, который вы разместили внутри файла csproj. – kenwarner

+2

. Кроме того, вы можете отредактировать файл проекта в самой Visual Studio, если вы сначала выгрузите проект. –

Смежные вопросы