【发布时间】:2017-02-13 08:26:33
【问题描述】:
我们的项目文件已经存在了一段时间,其中包括xmlns="http://schemas.microsoft.com/developer/msbuild/2003">。我试图弄清楚如何执行substring match in a CONDITION,所以我想我会查看架构,看看是否有什么东西跳出来。
尝试获取架构会导致 404:
$ wget http://schemas.microsoft.com/developer/msbuild/2003
--2016-10-04 22:44:43-- http://schemas.microsoft.com/developer/msbuild/2003
Resolving schemas.microsoft.com (schemas.microsoft.com)... 65.54.226.187
Connecting to schemas.microsoft.com (schemas.microsoft.com)|65.54.226.187|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
当我在 Web 浏览器中访问时,Microsoft 向我返回了以下消息,表明架构曾经可用但不再可用:
您要查找的资源已被删除,有它的名字 已更改,或暂时不可用。
Microsoft 在MSBuild Project File Schema Reference 有文档,但它没有列出可用的架构、架构的 URL 或它们之间的区别。
我猜我们应该不使用 2003 模式,因为它似乎已被弃用或撤回,但除此之外我不知道更多。我的问题是:
- 我们应该使用什么架构?
- 架构的 URL 是什么?
- 2003 架构与我应该使用的架构之间有什么区别?
现在我们正在尝试与 AppVeyor 集成,这些版本似乎更加相关。我们遇到了自动化测试问题(Can't perform 64-bit testing under AppVeyor? 和Why does AppVeyor use VS2010 tools for VS2015 image?),AppVeyor 支持建议更改 XML 标头中的版本号。下面是一个典型的 VCXPROJ 文件的头部。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
【问题讨论】:
标签: xml windows visual-studio xsd msbuild