1

在 TFS 2008 中,我正在尝试修改构建脚本 (TFSBuild.proj)。我收到以下警告:

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 命名空间,我如何或在哪里可以查看其内容以及我看到的警告是否可能是由它引起的?

4

2 回答 2

2

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

于 2010-06-22T14:10:44.693 回答
1

您的问题的答案可以在这个链接中找到,总结一下:

您可以放心地忽略此警告。那么 MSBuild 是否会根据架构验证您的项目文件?是的,确实如此,但我不确定它是如何完成的,所以我向 Buck Hodges 发送了一封电子邮件。他很好地通过了 MSBuild 团队中一个尚未命名的开发人员。开发者表示

“...MSBuild 确实尝试针对架构进行验证。但是,验证是由我们的代码在运行时完成的,而不是使用带有 xsd 的验证阅读器加载 [project] 文件(主要是出于性能原因)。MSBuild 应该失败任何不符合架构的项目。”

于 2010-06-23T13:48:12.793 回答