【问题标题】:Quick Questions about MSBuild copy task有关 MSBuild 复制任务的快速问题
【发布时间】:2011-04-04 22:42:24
【问题描述】:

大家好, 我是 MSBuild 的新手,所以可能有些问题听起来很愚蠢。

  1. 在使用 aspnetcompiler(如 App_globa.asax.compiled、default.master.compiled 等)时生成的这些额外文件是什么......

  2. 我试图使用复制任务来复制不是网站 (.ashx) 文件的 consanother iis 托管端点,但它正在复制所有 .cs、.csproj 等。无论如何要排除它们.并且 msbuild 也可以在复制时保持文件夹名称不变。因为当我使用复制任务时。它将所有东西合二为一。

【问题讨论】:

  • 问题 #1 不完整,问题 #2 似乎有一个令人困惑的错字。如果您可以提供实际的 MSBuild 以供您使用未按预期运行的 Copy 任务,那么我可以提供帮助...

标签: .net visual-studio scripting msbuild publish


【解决方案1】:

在您的评论中描述的情况下,您将包含 $(xfolder) 下的文件,并且仅排除当前目录下的文件,因为您的 Exclude 也没有指定 $(xfolder),所以基本上除非发生 $(xfolder)要成为当前文件夹,您不会排除任何内容。此外,您还缺少通配符,因此您只是试图排除名为“.cs”而不是“*.cs”的文件。修复您的排除为

Include="$(xfolder)**\*.*" Exclude="$(xfolder)**\*.cs"

【讨论】:

  • 我想通了,这正是我所做的。但是 IM 收到此错误:Web.config”是“复制”任务的“DestinationFolder”参数的无效值。多个项目不能传递到“Microsoft.Build.Framework.ITaskItem”类型的参数中。
  • 无论您传递给 DestinationFolder 的内容都必须解析为单个路径。您不能将项目(带有 @(..) 的任何内容)传递给该参数。您还将丢失所有递归文件夹信息(** 已解决部分)。您可能需要使用 DestinationFiles 和项目转换。您上面评论中的 MSBuild 是否正是您的构建中的内容? $(Folder) 的值是多少?
猜你喜欢
  • 1970-01-01
  • 2011-01-16
  • 2011-04-23
  • 2016-11-09
  • 2020-06-10
  • 1970-01-01
  • 2014-09-13
  • 2018-07-18
  • 1970-01-01
相关资源
最近更新 更多