2003年与当前MSBuild模式之间的区别? [英] Difference between 2003 and current MSBuild schemas?

查看:558
本文介绍了2003年与当前MSBuild模式之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的项目文件已经存在了一段时间,其中包括xmlns="http://schemas.microsoft.com/developer/msbuild/2003">.我试图弄清楚如何在CONDITION中执行子字符串匹配所以我想看一下架构,看看是否有什么东西突然出现在我身上.

Our project files have been around for a while, and they include xmlns="http://schemas.microsoft.com/developer/msbuild/2003">. I'm trying to figure out how to perform a substring match in a CONDITION so I thought I would look at the schema to see if something jumped out at me.

尝试获取架构会导致404:

Attempting to fetch the schema results in a 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向我返回了以下消息,指示该架构曾经可用,但不再可用:

When I visited in a Web Browser, Microsoft returned the following message to me, indicating the schema used to be available but its no longer available:

您要查找的资源已被删除,并具有其名称 更改,或暂时不可用.

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

Microsoft在 MSBuild项目文件架构参考中提供了文档,但是它没有列出可用的架构,架构的URL或它们之间的差异.

Microsoft has documentation at MSBuild Project File Schema Reference, but it does not list the schemas available, the schema's URL or the differences between them.

我猜我们不应该使用2003模式,因为它似乎已被弃用或撤消,但是我不知道更多.我的问题是:

I'm guessing we should not be using the 2003 schema since it appears to be deprecated or withdrawn, but I don't know much more beyond that. My questions are:

  • 我们应该使用哪种模式?
  • 架构的URL是什么?
  • 2003年架构与我应该使用的架构有什么区别?

由于我们试图与AppVeyor集成,因此这些版本似乎更相关.我们在进行自动测试时遇到问题(无法在AppVeyor下执行64位测试?

The versions seems to be more relevant now that we are trying to integrate with AppVeyor. We are having problems with automated testing (Can't perform 64-bit testing under AppVeyor? and Why does AppVeyor use VS2010 tools for VS2015 image?), and AppVeyor support is suggesting a change in version numbers in the XML header. Below is the head of a typical VCXPROJ file.

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

推荐答案

Visual Studio 2015的XML编辑器(也许还有其他版本)在%InstallRoot%\Xml\Schemas中本地提供了架构的缓存.在此处查找msbuild.xsd.

The XML Editor for Visual Studio 2015 (maybe other versions as well) provides a cache of schemas locally in %InstallRoot%\Xml\Schemas. Look there for msbuild.xsd.

如果Microsoft在名称空间URI上提供它,那就很好了

It would be nice if Microsoft provided it at the namespace URI,

http://schemas.microsoft.com/developer/msbuild/2003

但是 XML名称空间名称URI无需检索 .请注意,上述名称空间URI仍然是从Visual Studio 2015开始是最新的

but XML namespace name URIs need not be retrievable. Note that the above namespace URI is still current as of Visual Studio 2015.

这篇关于2003年与当前MSBuild模式之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆