MSBuild не распознает / не понимает свойства - PullRequest
2 голосов
/ 19 ноября 2011

Я создал следующий простой файл проекта 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, результат всегда одинаков.

1 Ответ

4 голосов
/ 19 ноября 2011

Синтаксис этого свойства неверен. Правильный синтаксис должен быть с круглыми скобками:

<?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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...