Примечание: Visual Studio 2010 SP1 / MSBuild 4.0
Я схожу с ума по этой ошибке, я не могу понять, почему Visual Studio ведет себя так. Я пишу пользовательский файл .targets
для своих проектов в конкретном решении. Я отредактировал файл .csproj
, чтобы иметь:
<Include Project="..\MyTargets.targets" />
После Microsoft.CSharp.targets
в нижней части файла. Идея состоит в том, что этот целевой файл будет вводить действия, которые должны быть выполнены, изменяя свойства _____DependsOn
так же, как интегрируется PostSharp .
После того, как я почесал голову, что мои цели не запускаются, я решил запустить его в командной строке с MSBuild и посмотреть красиво отформатированный вывод цвета.
В командной строке мои цели запускаются . Из visual studio (даже с использованием clean / rebuild) мои цели не запускаются .
Я подключил BuildDependsOn
, чтобы запустить мои цели так:
<PropertyGroup>
<BuildDependsOn>
MyTargetGoesHere;
$(BuildDependsOn)
</BuildDependsOn>
</PropertyGroup>
Моя первая мысль - у меня неправильный файл. Я проверил файл, он правильный. Тогда я проверил, было ли это несвежим. Позвольте Visual Studio внести некоторые изменения, сохранить, запустить. Новые изменения в Visual Studio вступили в силу, но все еще не достигли моих целей.
Так что здесь я впадаю в отчаяние. Я поместил BLARING SYNTAX ERROR в мой файл целей. MSBuild взрывается, Visual Studio успешно компилирует проект.
- Что я делаю не так?
- Разве Visual Studio не использует файл MSBuild?
- Вызывает ли она сверхсекретную цель вместо "Построить" из
Microsoft.Common.targets
?
- Почему msbuild ведет себя так, а студия - иначе, я думал, что они предназначены для совместной работы ...