2014-07-22 3 views
1

MSBuild 복사 작업을 사용하여 내 빌드로 만든 바이너리를 특정 폴더로 복사하려고합니다. 불행하게도 프로세스는 자동으로 실패합니다. 오류 메시지가 나타나지 않고 파일이 복사되지 않습니다.MSBuild 복사 작업이 복사되지 않는 이유는 무엇입니까?

여기 내 .csproj 파일의 관련 부분입니다 :

<Target Name="CopyFilesForModule" AfterTargets="AfterBuild"> 
    <CreateItem Include="bin\**\*.*" Exclude="bin\**\*.pdb;bin\**\*.xml"> 
    <Output TaskParameter="Include" ItemName="MySourceFiles" /> 
    </CreateItem> 
    <Copy SourceFiles="$(MySourceFiles)" DestinationFolder="Areas\KoobooModule7\bin"> 
    <Output 
      TaskParameter="CopiedFiles" 
      ItemName="Changed" /> 
    </Copy> 
    <Message Text="sourcefiles: @(MySourceFiles)" /> 
    <Message Text="changed:@(Changed)" Importance="high" /> 
</Target> 

당신은 이미 디버그 목적으로 메시지를 추가 한 볼 수 있듯이. 여기

"c:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" /t:rebuild /verbosity:d 
iag KoobooModule7.csproj > buildlog.txt

내 빌드 로그에서 관련 발췌 한 것입니다 : 나는 다음과 같은 명령 줄을 사용하여 msbuild를 호출 당신이 볼 수 있듯이, 복사 할 파일이 올바르게 식별 된

Target "CopyFilesForModule: (TargetId:75)" in project "C:\Users\chris\Documents\Visual Studio 2013\Projects\KoobooModule7\KoobooModule7\KoobooModule7.csproj" (target "Build" depends on it): 
Task "CreateItem" (TaskId:43) 
    Task Parameter:Include=bin\**\*.* (TaskId:43) 
    Task Parameter: 
     Exclude= 
      bin\**\*.pdb 
      bin\**\*.xml (TaskId:43) 
Done executing task "CreateItem". (TaskId:43) 
Task "Copy" (TaskId:44) 
    Task Parameter:DestinationFolder=Areas\KoobooModule7\bin (TaskId:44) 
Done executing task "Copy". (TaskId:44) 
Task "Message" (TaskId:45) 
    Task Parameter:Text=sourcefiles: bin\CookComputing.XmlRpcV2.dll;bin\DiffPlex.dll;bin\dotless.Core.dll;bin\DotNetOpenAuth.AspNet.dll;bin\DotNetOpenAuth.Core.dll;bin\DotNetOpenAuth.OAuth.Consumer.dll;bin\DotNetOpenAuth.OAuth.dll;bin\DotNetOpenAuth.OpenId.dll;bin\DotNetOpenAuth.OpenId.RelyingParty.dll;bin\HtmlAgilityPack.dll;bin\Ionic.Zip.Reduced.dll;bin\Kooboo.CMS.Account.dll;bin\Kooboo.CMS.Caching.dll;bin\Kooboo.CMS.Common.dll;bin\Kooboo.CMS.Common.Runtime.Dependency.Ninject.dll;bin\Kooboo.CMS.Content.dll;bin\Kooboo.CMS.Form.dll;bin\Kooboo.CMS.Membership.dll;bin\Kooboo.CMS.Search.dll;bin\Kooboo.CMS.Sites.dll;bin\Kooboo.CMS.Sites.TemplateEngines.Razor.dll;bin\Kooboo.CMS.Web.dll;bin\Kooboo.dll;bin\KoobooModule7.dll;bin\KoobooModule7.dll.config;bin\Lucene.Net.Contrib.Highlighter.dll;bin\Lucene.Net.dll;bin\Microsoft.Web.Infrastructure.dll;bin\Mono.Math.dll;bin\Newtonsoft.Json.dll;bin\Ninject.dll;bin\NuGet.Core.dll;bin\Org.Mentalis.Security.Cryptography.dll;bin\System.Net.Http.dll;bin\System.Web.Helpers.dll;bin\System.Web.Mvc.dll;bin\System.Web.Razor.dll;bin\System.Web.WebPages.Administration.dll;bin\System.Web.WebPages.Deployment.dll;bin\System.Web.WebPages.dll;bin\System.Web.WebPages.Razor.dll (TaskId:45) 
    sourcefiles: bin\CookComputing.XmlRpcV2.dll;bin\DiffPlex.dll;bin\dotless.Core.dll;bin\DotNetOpenAuth.AspNet.dll;bin\DotNetOpenAuth.Core.dll;bin\DotNetOpenAuth.OAuth.Consumer.dll;bin\DotNetOpenAuth.OAuth.dll;bin\DotNetOpenAuth.OpenId.dll;bin\DotNetOpenAuth.OpenId.RelyingParty.dll;bin\HtmlAgilityPack.dll;bin\Ionic.Zip.Reduced.dll;bin\Kooboo.CMS.Account.dll;bin\Kooboo.CMS.Caching.dll;bin\Kooboo.CMS.Common.dll;bin\Kooboo.CMS.Common.Runtime.Dependency.Ninject.dll;bin\Kooboo.CMS.Content.dll;bin\Kooboo.CMS.Form.dll;bin\Kooboo.CMS.Membership.dll;bin\Kooboo.CMS.Search.dll;bin\Kooboo.CMS.Sites.dll;bin\Kooboo.CMS.Sites.TemplateEngines.Razor.dll;bin\Kooboo.CMS.Web.dll;bin\Kooboo.dll;bin\KoobooModule7.dll;bin\KoobooModule7.dll.config;bin\Lucene.Net.Contrib.Highlighter.dll;bin\Lucene.Net.dll;bin\Microsoft.Web.Infrastructure.dll;bin\Mono.Math.dll;bin\Newtonsoft.Json.dll;bin\Ninject.dll;bin\NuGet.Core.dll;bin\Org.Mentalis.Security.Cryptography.dll;bin\System.Net.Http.dll;bin\System.Web.Helpers.dll;bin\System.Web.Mvc.dll;bin\System.Web.Razor.dll;bin\System.Web.WebPages.Administration.dll;bin\System.Web.WebPages.Deployment.dll;bin\System.Web.WebPages.dll;bin\System.Web.WebPages.Razor.dll (TaskId:45) 
Done executing task "Message". (TaskId:45) 
Task "Message" (TaskId:46) 
    Task Parameter:Text=changed: (TaskId:46) 
    Task Parameter:Importance=high (TaskId:46) 
    changed: (TaskId:46) 
Done executing task "Message". (TaskId:46) 
Done building target "CopyFilesForModule" in project "KoobooModule7.csproj".: (TargetId:75)

을 복사 된 파일 동안 비어 있습니다. 복사 프로세스가 실패하는 이유를 어떻게 알 수 있습니까?

답변

2

복사 작업에서 MySourceFiles 항목을 참조하지 않고 MySourceFiles 속성을 참조합니다.

<Copy SourceFiles="$(MySourceFiles)" DestinationFolder="Areas\KoobooModule7\bin"> 

이어야한다

<Copy SourceFiles="@(MySourceFiles)" DestinationFolder="Areas\KoobooModule7\bin">