2011-11-19 2 views
2

다음과 같은 간단한 msbuild 프로젝트 파일을 만들었지 만 출력이 매우 이상합니다 (메시지 태그 결과 참조).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. TeamCity에서 모든 것이 실행되지만 msbuild.exe를 시작하는 데 아무런 차이가 없습니다. 결과는 항상 동일합니다.

답변

4

해당 속성 구문이 잘못되었습니다. 올바른 구문은 괄호로 작성되어야합니다.

<?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> 
+0

저는 완전한 IDIOT입니다! –

+1

@Vasiliy - 아뇨, ​​방금 실수했습니다. –

+0

@VasiliyBorovyak : 몇 시간이나 며칠 동안 이런 일을 쫓았습니다. 좋은 시간, 응? –

관련 문제