Очень четкое описание Томми процесса трансформации позволило мне решить очень сложную проблему. У меня есть проект ASP.NET MVC 4, который выдавал ошибку при попытке публикации из Visual Studio 2012. Я продолжал получать сообщение об ошибке
Unrecognized attribute 'xmlns:xdt'. Note that attribute names are case-sensitive.
В ошибке говорилось, что он находится в файле web.config, но на самом деле его там нет. Это было в Web.Release.Config. Я пробовал многие из рекомендуемых решений в Преобразование Web.config: не распознано атрибут 'xmlns:xdt'. Обратите внимание, что имена атрибутов вводятся с учетом регистра
Я удалил содержимое каталога obj, и это сработало один или два раза, а затем перестало работать. Я удалил атрибут из Web.Release.Config,
xmlns:xdt=http://schemas.microsoft.com/XML-Document-Transform
но это дало мне ошибки. Я старался
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.
Это сработало один раз, но не во второй раз.
Я попробовал более длинную версию вышеуказанного решения.
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
но это дало мне много ошибок. У доктора сайта было интересное решение, но оно требовало загрузки предварительной версии программного обеспечения с GitHub, и я не хотел рисковать, если в этом нет необходимости. http://blogs.thesitedoctor.co.uk/tim/Trackback.aspx?guid=7988f7bc-947c-4134-ab52-af22770b639c Затем я нашел статью Томми, и она натолкнула меня на мысль. Я удалил это xmlns:xdt=http://schemas.microsoft.com/XML-Document-Transform
из этой строки
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
Когда я это сделал, мне пришлось удалить
xdt:Transform="RemoveAttributes(debug)"
из этой строки
<compilation xdt:Transform="RemoveAttributes(debug)" />
Это сработало для меня. Вероятно, не очень хорошая идея удалять преобразование, которое удаляет атрибуты отладки при публикации/выпуске проекта, но, похоже, это решает проблему.
person
Richard Leyton
schedule
06.03.2014