2013-03-29 75 views
1

問題:使用msbuild編輯.props文件失敗。我想看看操作的中間結果是如何處理某些輸出消息的。 「不被支持」是IDE告訴我的。用於C++的MSBuild消息

示例: 我想獲取配置名稱的最後四個字符以使用字符串的一部分。

<ImportGroup Label="PropertySheets"> 
     <Import project=".\prop_$(Configuration.Substring($([MSBuild]::Subtract($(Configuration.Length),4)))).props" />  
    </ImportGroup> 

我怎麼能看到的部分,長度,減,則子的結果?我希望能夠在處理過程中打印出這些值。

回答

2

可以使用Message Task

例如: 在項目組InitialTargets頂到目標

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="DisplayText"> 

<Target Name="DisplayText"> 
    <Message Importance="high" Text="Configuration = $(Configuration)" /> 
    <Message Importance="high" Text="Configuration Length = $(Configuration.Length)" /> 
    <Message Importance="high" Text="Configuration Substring = $(Configuration.Substring($([MSBuild]::Subtract($(Configuration.Length),4))))" /> 
</Target> 

的應打印出你在生成過程中詢問了一切名稱。

1>------ Build started: Project: TemplateTest, Configuration: Debug Win32 ------ 
1> Configuration = Debug 
1> Configuration Length = 5 
1> Configuration Substring = ebug 
+0

這在IDE中不起作用,它似乎在C++版本中不起作用。在vcxproj中,哪裏不會導致消息框彈出來說明它不被支持?輸出顯示在哪裏? –

+0

@BenL請看看編輯後的答案,它爲我工作假設'文本'根據您的配置正確設置 –

+0

真棒。那很完美。 –