MSBuild和Skipping目标为“<targetname>”,因为它没有输出</targetname>

时间:2014-12-09 10:50:14

标签: msbuild

我以前一直在尝试使用MSBuild,但这是我第一次尝试部分构建。我已经完成了一切工作,但并不像我想的那样好。我无法解决这个问题:

Skipping target "BuildLocalizerSetting" because it has no outputs. Though the target has declared its outputs, the output specification only references empty properties and/or empty item lists.

如果我从目标中删除Inputs属性,一切正常。我怀疑这与丢失的变换有关,但指定变换实际上是不可能的。

我的设置与典型的构建方案略有不同。我有一个清单文件,其中包含应编译的文件列表。即我从一个输入文件生成项目组中可能很长的项目列表的场景开始。

我已经构建了一个用于解析清单文件的自定义任务,它似乎可以很好地完成任务。虽然我遇到了一个障碍,TaskItem不允许设置某些众所周知的元数据,例如:&#34;文件名&#34;,&#34;扩展&#34;,&#34; ModifiedTime&#34;等。通过在自定义ITaskItem类中实现TaskItem,可以快速解决该问题。我知道脏检查可以正常工作,因为MSBuild确实检测到这些项目已被修改。但现在我想知道...... 我是否有可能因为实施而在某些奇怪的平台上出现构建错误?

但最重要的是,为什么MSBuild不能接受输入已经改变,然后断定输出也发生了变化?

我发现的每个例子都假定输入和输出之间存在一对一的关系,或者多对一关系,但在我的场景中,我会从一个到多个,这可以做到吗?

0 个答案:

没有答案
相关问题