MSBuild Copy失败,出现奇怪的错误消息

问题描述 投票:0回答:1

我完全陷入困境,需要你的帮助)))

MSVS跨平台工具链包含一个名为Android.Common.targets的msbuild脚本,它有一个名为CopyAntPackageContentToOutput的目标,而且当这个脚本执行时(在Marmalade SDK本机调试版本期间) - 复制任务无法移动一些。 jar文件到中间目录并打印:

Task Parameter:
1>                         SourceFiles=
1>                             c:\code\projects\develop+jf\marmalade\extensions\nsfirebase\sdk\libs\android\firebase-messaging-cpp\classes.jar
1>                                     CopyToOutputDirectory=Always
1>                                     Link=libs\classes.jar
1>                                     OriginalItemSpec=c:\code\projects\develop+jf\marmalade\extensions\nsfirebase\sdk\libs\android\firebase-messaging-cpp\classes.jar
1>                                     TargetPath=libs\classes.jar
1>                             c:\code\projects\develop+jf\marmalade\extensions\androidsupport\sdk\support-core-ui\classes.jar
1>                                     CopyToOutputDirectory=Always
1>                                     Link=libs\classes.jar
1>                                     OriginalItemSpec=c:\code\projects\develop+jf\marmalade\extensions\androidsupport\sdk\support-core-ui\classes.jar
1>                                     TargetPath=libs\classes.jar

(......等等,不得不削减日志)

然后是错误消息:

1>C:\Program Files (x86)\MSBuild\Microsoft\MDD\Android\V140\Android.Common.targets(344,5): error MSB3094: "DestinationFiles" refers to 1 item(s), and "SourceFiles" refers to 39 item(s). They must have the same number of items.

我得到msbuild可能失败,因为我有多个.jar文件同名classes.jar,但如何在不重命名文件的情况下解决这个问题?

android visual-studio msbuild marmalade
1个回答
0
投票

但是如何在不重命名文件的情况下修复它?

似乎问题是SourceFiles包含多个文件但复制到一个目的地。

由于您不想重命名源文件,因此可以尝试使用递归副本修改复制目标CopyAntPackageContentToOutput,而不是复制到同一文件夹:

<Target Name="CopyFiles">  
    <Copy  
        SourceFiles="@(MySourceFiles)"  
        DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')"  
    />  
</Target>  

资料来源:https://msdn.microsoft.com/en-us/library/3e54c37h.aspx

有关更多信息,请参阅similar issue

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.