Tommy's very clear description of the transformation process allowed me to solve a very stubborn problem. I have an ASP.NET MVC 4 project that threw an error when I tried to publish from Visual Studio 2012. I kept getting the error
Unrecognized attribute 'xmlns:xdt'. Note that attribute names are case-sensitive.
The error is indicated in the web.config file, but in fact it is not. It was at Web.Release.Config. I tried many of the recommended solutions in Converting Web.config: the unrecognized attribute 'xmlns: xdt'. Please note that attribute names are case sensitive.
I deleted the contents of the obj directory and worked once or twice and then stopped working. I removed the attribute from Web.Release.Config,
xmlns:xdt=http:
but it gave me errors. I tried
This is kind of a workaround, but you may add the following line to your pre-build commands: del $(ProjectDir)obj\* /F /S /Q Right click your project > Properties > Build Events > Pre-build.
This worked once, but not the second time.
I tried a longer version of the above solution
del "$(ProjectDir)obj\*" /F /Q del "$(ProjectDir)obj\$(ConfigurationName)\AspnetCompileMerge\*" /F /S /Q del "$(ProjectDir)obj\$(ConfigurationName)\CSAutoParameterize\*" /F /S /Q del "$(ProjectDir)obj\$(ConfigurationName)\Package\*" /F /S /Q del "$(ProjectDir)obj\$(ConfigurationName)\ProfileTransformWebConfig\*" /F /S /Q del "$(ProjectDir)obj\$(ConfigurationName)\TempPE\*" /F /S /Q del "$(ProjectDir)obj\$(ConfigurationName)\TransformWebConfig\*" /F /S /Q
but it gave me a lot of mistakes. The partner doctor had an interesting promising solution, but I needed to download a preliminary version of the software from GitHub, and I did not want to risk it if I did not have to. http://blogs.thesitedoctor.co.uk/tim/Trackback.aspx?guid=7988f7bc-947c-4134-ab52-af22770b639c Then I found Tommy's article and it gave me an idea. I removed this xmlns:xdt=http://schemas.microsoft.com/XML-Document-Transform from this line
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
When I did this, I had to remove
xdt:Transform="RemoveAttributes(debug)"
from this line
<compilation xdt:Transform="RemoveAttributes(debug)" />
It worked for me. This is probably a great idea to remove a transform that seems to remove debug attributes when publishing / releasing your project, but seems to fix the problem.