【问题标题】:MSBuild afterbuild step to copy code into a temp folderMSBuild afterbuild 步骤将代码复制到临时文件夹中
【发布时间】:2015-02-26 21:51:37
【问题描述】:

我正在尝试将编译后的 Web 应用程序放入一个临时目录中。

我有以下内容,但它似乎不起作用。它删除并创建导向器,但 msbuild 任务似乎没有将编译输出复制到我需要它的 obj/publish 目录中?

<Target Name="AfterBuild">
    <CallTarget Targets="Publish" />
  </Target> 
  <Target Name="Publish">
    <RemoveDir Directories="$(SolutionDir)AsycLearn\obj\publish\" ContinueOnError="true" />
    <MakeDir Directories="$(SolutionDir)AsycLearn\obj\publish\"/>
    <MSBuild Projects="AsycLearn.csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="WebProjectOutputDir=$(SolutionDir) AsycLearn\obj\publish\;OutDir=$(SolutionDir) AsycLearn\obj\publish\bin\" />
  </Target>

有什么想法吗?谢谢

【问题讨论】:

    标签: msbuild msbuild-task


    【解决方案1】:

    看起来您需要引用输出路径,因为它们包含空格。否则,读取的值将在第一个空格处被截断。这也将终止传递给任何其他任务的参数集。

    Properties="WebProjectOutputDir=$(SolutionDir) AsycLearn\obj\publish\;OutDir=$(SolutionDir) AsycLearn\obj\publish\bin\"

    应该是

    Properties="WebProjectOutputDir=&amp;quot;$(SolutionDir) AsycLearn\obj\publish\&amp;quot;;OutDir=&amp;quot;$(SolutionDir) AsycLearn\obj\publish\bin\&amp;quot;"

    需要转义序列&amp;quot;,因为我们希望解析后的值包含引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2015-09-20
      • 2013-06-14
      • 2017-05-27
      • 1970-01-01
      相关资源
      最近更新 更多