Почему элемент задачи копирования не работает в моем скрипте msbuild?

У меня есть следующий код в моем сценарии msbuild:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" InitialTargets="Build">  
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

    <SolutionName>CommTrac.Web\CommTrac.Web</SolutionName>
    <SolutionFileName>$(SolutionName).csproj</SolutionFileName>           
  </PropertyGroup>

  <Target Name="Build">
    <Message Text="Building the solution"/>
    <MSBuild Projects="$(SolutionFileName)" ContinueOnError="false" Properties="Configuration=$(Configuration)" />    
  </Target>
  <Target Name="CopyOutput" DependsOnTargets="Build">
    <ItemGroup>      
      <BinFolder Exclude="*.pdb" Include="$(ProjectDir)bin\**\*.*"/>
      <BuildOutputFolder Include="C:\BuildOutput" />
    </ItemGroup>
    <Message Text="Copying from directory: $(BinFolder)"/>
    <Copy  SourceFiles="$(BinFolder)" DestinationFolder="$(BuildOutputFolder)"/>
  </Target>
</Project>

По какой-то причине он не копирует файлы в мой выходной каталог. Я пробовал все аналогичные решения с другими вопросами, которые я видел, похожими на эту проблему. У кого-нибудь есть идеи?


person Korbin    schedule 30.05.2011    source источник


Ответы (1)


BindFolder и BuildOutputFolder — это элементы, а не свойства. Поэтому вам нужно ссылаться на них, используя @(BindFolder) и @(BuildOutputFolder) вместо использования '$'.

person Duat Le    schedule 30.05.2011
comment
Ух ты! Спасибо! Я даже не заметил синтаксической разницы между 2. - person Korbin; 31.05.2011