【问题标题】:Why does TFS Build not recognize xcopy as a command?为什么 TFS Build 无法将 xcopy 识别为命令?
【发布时间】:2011-02-14 07:00:40
【问题描述】:

我正在使用 TFS 2008,在我的 TFSBuild.proj 文件中,我有一个调用 xcopy 的目标来将构建复制到生产位置。但是,我在运行构建时收到以下错误:

任务 "Exec" 命令:xcopy "\test\TFSBuilds\Online System V2 Build to NETPUB_20100430.2\Debug_PublishedWebsites\IPAMIntranet" "C:\Inetpub\wwwroot\IPAMOnlineSystem\IPAMIntranet\IPAMIntranet" /E

解析错误“C:\Inetpub\wwwroot\IPAMOnlineSystem\IPAMIntranet\IPAMIntranet”未被识别为内部或外部命令、可运行程序或批处理文件。

'" /E' 不是内部或外部命令、可运行程序或批处理文件。

以下是我的 xcopy 代码行:

<Target Name="AfterDropBuild">
  <Exec Command="xcopy &quot;$(DropLocation)\$(BuildNumber)\Debug\_PublishedWebsites\IPAMIntranet&quot; &quot;$(RemoteDeploySitePath)&quot; /E " /> 
</Target>

我什至尝试在文件位置周围用单引号和实际的双引号代替 " 符号。为什么会发生这种情况,谁能帮我破译并帮助我纠正这个问题?

【问题讨论】:

    标签: tfsbuild xcopy


    【解决方案1】:

    您的 RemoteDeploySitePath 定义中可能有换行符?

    例如,如果你这样做:

    <PropertyGroup>
      <RemoteDeploySitePath>
        C:\\Inetpub\wwwroot\IPAMOnlineSystem\IPAMIntranet\IPAMIntranet
      </RemoteDeploySitePath>
    </PropertyGroup>
    

    vs this(当然还是在 PropertyGroup 元素中):

    <RemoteDeploySitePath>C:\\Inetpub\wwwroot\IPAMOnlineSystem\IPAMIntranet\IPAMIntranet</RemoteDeploySitePath>
    

    第一种情况下的结果属性将包含换行符。

    您对 RemoteDeploySitePath 的定义是什么样的?

    【讨论】:

    • 我有你所说的第一个案例,但是我把那个定义拿出来,把目的地直接放到命令中,它现在就挂了。
    • 你能添加一些调试
    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多