Я создал следующий простой файл проекта msbuild, но вывод довольно странный (см. Результат тега сообщения).
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Upload" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DirectoryToUpload>Directory\</DirectoryToUpload>
<RemoteServer>my.remote.server.com</RemoteServer>
</PropertyGroup>
<Target Name="Upload">
<Message Text="Uploading from directory ${DirectoryToUpload} to server ${RemoteServer}" />
</Target>
</Project>
И вывод.
D:\Project\Source>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe ftpupload.proj /target:Upload
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.239]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 11/19/2011 4:22:28 PM.
Project "D:\Project\Source\ftpupload.proj" on node 1 (Upload target(s)).
Upload:
Uploading from directory ${DirectoryToUpload} to server ${RemoteServer}
Done Building Project "D:\Project\Source\ftpupload.proj" (Upload target(s)).
Почему MSbuild показывает имя свойства, а не его значение?
P.S. Все это работает под TeamCity, но не имеет значения, кто запускает msbuild.exe, результат всегда одинаков.