Web.config转换:未声明转换属性

时间:2017-05-31 20:57:53

标签: visual-studio web-config web.config-transform

我正在尝试转换我的 Web.config 文件,为发布版本添加重写规则,但我收到了一个智能感知错误。

  

未声明“http://schemas.microsoft.com/XML-Document-Transform:Transform”属性。

Web.Release.config

Web.Release.config

似乎编译好没有错误。但是当我尝试发布时,我确实遇到了构建错误:

  

源文档中的任何元素都不匹配'/configuration/system.webServer/rewrite'   未声明“http://schemas.microsoft.com/XML-Document-Transform:Transform”属性。

上面的第一行是错误,而第二行是警告。为什么这不起作用?

请注意, Web.config 的顶部确实包含行<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

更新

部署时的构建错误原因是由其他原因引起的。所以,实际上, 构建好了,我可以部署。所以在这一点上,问题只是为什么出现这个Intellisense错误/警告。

1 个答案:

答案 0 :(得分:12)

How do I enable IntelliSense in VS 2013 for <rewrite> in transform .config?中所述,这是智能感知中的缺陷。如果你正在使用VS 2017打开“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ Xml \ Schemas \ 1033 \ DotNetConfig.xsd”。在文件末尾附近找到重写元素,并将<xs:anyAttribute namespace="http://schemas.microsoft.com/XML-Document-Transform" processContents="strict"/>复制到重写元素的末尾。 一旦我保存文件,Visual Studio就会删除警告波动。

enter image description here

有人应该在Visual Studio团队中提出这个问题。