2010-05-28 106 views
1

在TFS 2008中,我试图修改一个构建脚本(TFSBuild.proj)。我得到以下警告:TFS 2008构建脚本

The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'TeamProject' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. 

哪一个是正确的,元素PropertyGroup确实有一个叫做TeamProject的子元素。

我做,这是因为以下行引起的假设:

<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 

XML命名空间没有出现,据我可以告诉存在,尽管它看起来像一个标准。请任何人都可以告诉我这是一个标准的XML命名空间,我可以查看其内容的方式或位置,以及我看到的警告是否可能是由它引起的?

回答

1

的回答你的问题可能是found at this link,并总结:

可以放心地忽略此警告。那么MSBuild是否会根据模式验证您的 项目文件?是的,但我不知道 是如何完成的,所以我给Buck Hodges发了一封电子邮件。他 已经足够好了,可以通过MSBuild 团队中尚未命名的开发人员传递。 dev的说,

” ...的MSBuild并尝试根据模式验证,但 验证在运行时由我们的代码完成,而不是使用验证读取器与XSD加载 [项目]文件(主要用于perf 原因)。MSBuild应该会失败任何不符合 模式的项目。“

2

您正在编辑Visual Studio编辑器中的SCRIPT文件,它将始终尝试在命名空间中查找缺失的元素。当我使用自定义任务或自定义库时,我拥有相同的“信息”(而不是错误)。解决这个问题的最好方法就是习惯它:)。请记住这些只是编辑器的警告。

+0

谢谢。我意识到我所看到的并不是一个错误,但我很好奇我提及的命名空间来自哪里,它在哪里/如何显示以及它是否导致了消息。在我能适应某些事情之前,我必须理解它。 – 2010-06-22 19:04:38