我正在尝试使用MSBuild Copy任务将由我的版本创建的二进制文件复制到某个文件夹。不幸的是,该过程无声地失败了。没有发出错误消息,也没有文件被复制。
这是我的.csproj文件的相关部分:
如您所见,我已经添加了用于调试目的的消息。我使用以下命令行调用msbuild:
“ c:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin \ MSBuild.exe” / t:rebuild / verbosity:d iag KoobooModule7.csproj> buildlog.txt
这是我的构建日志中的相关摘录:
项目“ C:\ Users \ chris \ Documents \ Visual Studio 2013 \ Projects \ KoobooModule7 \ KoobooModule7 \ KoobooModule7.csproj”中的目标“ CopyFilesForModule:(TargetId:75)”(目标“生成”取决于它): 任务“ CreateItem”(TaskId:43) 任务参数:Include = bin \ ** \ *。*(TaskId:43) 任务参数: 排除= bin \ ** \ *。pdb bin \ ** \ *。xml(TaskId:43) 完成执行任务“ CreateItem”。(TaskId:43) 任务“复制”(TaskId:44) 任务参数:DestinationFolder = Areas \ KoobooModule7 \ bin(TaskId:44) 完成执行任务“复制”。(TaskId:44) 任务“消息”(TaskId:45) 任务参数:文本=源文件: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) 源文件: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) 完成执行任务“消息”。(TaskId:45) 任务“消息”(TaskId:46) 任务参数:文本=已更改:(TaskId:46) 任务参数:重要性=高(任务ID:46) 已更改:(TaskId:46) 完成执行任务“消息”。(TaskId:46) 在项目“ KoobooModule7.csproj”中完成了构建目标“ CopyFilesForModule” 。:(TargetId:75)
如您所见,当复制的文件为空时,已正确识别了要复制的文件。我如何找出复制过程失败的原因?
您不是在复制任务中引用MySourceFiles项,而是MySourceFiles属性。
<Copy SourceFiles="$(MySourceFiles)" DestinationFolder="Areas\KoobooModule7\bin">
应该
<Copy SourceFiles="@(MySourceFiles)" DestinationFolder="Areas\KoobooModule7\bin">