Проблема создания скрипта MSBUILD
У меня проблемы с <target>
тег в моем проекте WPF.
То, что я пытаюсь сделать, это реализовать событие после сборки в автоматизированной сборке команды, которую я настроил в TFS 2010, которая запускает часть интегрированного программного обеспечения для измерения метрик кода под названием NDepend. Сайт NDepend дает некоторые примеры кода того, что мне нужно сделать, я считаю. Эти фрагменты кода показаны ниже:
<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.