MS-Build BeforeBuild не стреляет

Я настраиваю.csproj Проект для запуска некоторых пользовательских задач перед основной сборкой. Тем не менее, я не могу получить задачи для выполнения вообще.

Я раскомментировал<Target Name="BeforeBuild" /> элемент в.csproj файл и добавил простую задачу сообщения, но когда я строю, сообщение не появляется в моем выводе, поэтому кажется, что задача не выполняется. Таким образом, этот фрагмент не выводит сообщение;

Листинг 1: Сообщение не появляется

<Target Name="BeforeBuild">
    <Message Text="About to build ORM layer" Importance="normal" />
</Target>

Тем не менее, если я ввернут некоторые атрибуты, я могу получить.csproj не выполнить вообще;

Листинг 2: Ошибка конфигурации MSBuild

<Target Name="BeforeBuild">
    <Message Text="About to build ORM layer" XXImportance="normal" />
</Target>

Обратите вниманиеXXImportance приписывать. Я получаю ошибку сборки

My.csproj(83,46): error MSB4064: The "XXImportance" parameter is not supported by the "Message" task. Verify the parameter exists on the task, and it is a settable public in,stance property.

Это говорит о том, что XML анализируется, чтоMessage класс был найден, и этот класс отражается для доступных свойств.

Почему бы задачу не выполнить?

Я использую 3.5 рамки.

ОБНОВЛЕНИЕ 1: По совету @ Martin, я попытался запустить MSBuild на консоли и получил эту ошибку;

c:\path\to\my.csproj(74,11): error MSB4019: The imported
project "C:\Microsoft.CSharp.targets" was not found. Confirm
that the path in the <Import> declaration is correct, and that
the file exists on disk.

Строка 74 гласит;

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

ОБНОВЛЕНИЕ 2: Я компилирую в VS2008, который использует компилятор C # 3, но проект, который я компилирую, является проектом framework 2.0. При запуске из командной строки (см. ОБНОВЛЕНИЕ 1) сборка кажется неудачной, потому что существует путаница относительно того, гдеMicrosoft.CSharp.targets файл указан.

Ответы на вопрос(3)

Ваш ответ на вопрос