I am attempting to transform my Web.config file to add rewrite rules for release builds, but I'm getting an intellisense error.
The 'http://schemas.microsoft.com/XML-Document-Transform:Transform' attribute is not declared.
Web.Release.config
It seems to compile okay without errors. But when I attempt to Publish, I do get build errors:
No element in the source document matches '/configuration/system.webServer/rewrite'
The 'http://schemas.microsoft.com/XML-Document-Transform:Transform' attribute is not declared.
The first line above is an error, while the second one is a warning. Why doesn't this work?
Note that the top of my Web.config does include the line <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
UPDATE:
The build error when deploying turned out to be caused by something else. So, in fact, it does build okay and I can deploy. So at this point, the question is just about why this Intellisense error/warning is appearing.
A transform file is an XML file that specifies how the Web. config file should be changed when it is deployed. Transformation actions are specified by using XML attributes that are defined in the XML-Document-Transform namespace, which is mapped to the xdt prefix.
A Web. config transformation file contains XML markup that specifies how to change the Web. config file when it is deployed. You can specify different changes for specific build configurations and for specific publish profiles.
If you are using the extension Configuration Transform go to Build > Configuration Manager and find the Configuration dropdown for the project of which you want to change the app config. You can then select the edit and rename the build configurations for that project.
As suggested in How do I enable IntelliSense in VS 2013 for <rewrite> in transform .config? this is a defect in Intellisense. If you're using VS 2017 open "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Xml\Schemas\1033\DotNetConfig.xsd". Locate the rewrite element near the end of the file and copy <xs:anyAttribute namespace="http://schemas.microsoft.com/XML-Document-Transform" processContents="strict"/>
to the end of the rewrite element.
As soon as I saved the file Visual Studio removed the warning squiggly.
Someone should probably raise this with the Visual Studio team.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With