CruiseControl.Net出现错误MSBuild MSB3021:无法复制文件

CruiseControl.Net出现错误MSBuild MSB3021:无法复制文件,msbuild,cruisecontrol.net,Msbuild,Cruisecontrol.net,我在CruiseControl.Net项目的MSBuild任务中遇到“无法复制文件X.DLL” 我的CCNet项目如下所示: <project name="Trunk" queue="Back" queuePriority="1"> <tasks> <msbuild> <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe<

我在CruiseControl.Net项目的MSBuild任务中遇到“无法复制文件X.DLL”

我的CCNet项目如下所示:

<project name="Trunk" queue="Back" queuePriority="1">
    <tasks>
        <msbuild>
            <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
            <workingDirectory>D:\wwwroot\CruiseControl\Working\trunk</workingDirectory>
            <projectFile>kop.sln</projectFile>
            <buildArgs>/noconsolelogger /v:quiet /p:Configuration=Debug</buildArgs>
            <targets>ReBuild</targets>
            <timeout>600</timeout>
        </msbuild>
    </tasks>
</project>

C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe
D:\wwwroot\CruiseControl\Working\trunk
kop.sln
/noconsolelogger/v:quiet/p:Configuration=Debug
重建
600
构建报告如下所示:

<msbuild startTime="09/21/2011 15:56:11" elapsedTime="00:00:32" elapsedSeconds="32" success="false">
  <warning line="0" column="0" timeStamp="09/21/2011 15:56:12"><![CDATA[MSB3021 : Impossible de copier le fichier "D:\wwwroot\CruiseControl\Working\trunk\Reporting\bin\Release\Reporting.dll" vers "back\\Bin\Reporting.dll". Impossible de trouver une partie du chemin d'accès 'D:\wwwroot\CruiseControl\Working\trunk\Reporting\bin\Release\Reporting.dll'.]]></warning>
  <warning line="0" column="0" timeStamp="09/21/2011 15:56:12"><![CDATA[MSB3021 : Impossible de copier le fichier "D:\wwwroot\CruiseControl\Working\trunk\KoamaOP\bin\Release\KoamaOP.dll" vers "back\\Bin\KoamaOP.dll". Impossible de trouver une partie du chemin d'accès 'D:\wwwroot\CruiseControl\Working\trunk\KoamaOP\bin\Release\KoamaOP.dll'.]]></warning>

当我从自己电脑上的控制台启动它时,它工作得非常好

它试图复制的文件(\bin\Release\KoamaOP.dll)不存在,但\bin\Debug\KoamaOP.dll存在。尽管我指定了
/p:Configuration=Debug
,但为什么它要尝试获取发布dll

问题的根源是什么


谢谢

您是否已验证文件D:\wwwroot\CruiseControl\Working\trunk\Reporting\bin\Release\Reporting.dll确实存在于生成框中?可能是路径不正确

副本试图将文件放在“back”文件夹下。这是为了保存旧版本的文件而添加的预生成步骤还是后生成步骤?如果是这样,您可能会对其中一个步骤进行错误配置


至于它在你的盒子上工作-我怀疑你已经建立了dll的发布版本,所以复制步骤不会失败。如果删除机箱上的所有DLL,然后重新生成,我怀疑您会发现相同的问题。

否,它不存在\存在bin\Debug,但不存在\bin\Release。我不明白为什么它会进入\Release,尽管我指定了
/p:Configuration=Debug
?Debug是默认的项目生成配置,因此即使您从生成行中删除了属性,它仍然会以Debug为目标。问题出在别处。PS-奇怪的是,当“verbose”进入日志并帮助您解决问题时,您却指定了一个安静的详细信息。这是一个很好的评论。我将再次尝试使用详细信息。详细信息似乎不会向日志文件添加任何内容。我刚刚删除了
/v:quiet
,还有其他事情要做吗?可用的详细级别有q[uiet]、m[minimal]、n[normal]、d[etailed]和diag[nostic]/v也是可以接受的。