Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается код ошибки MSB4066.
Текст сообщения
MSB4066: The attribute 'attribute-name' in element 'element-name' is unrecognized.
Замечания
Эта ошибка возникает, когда MSBuild обнаруживает XML-атрибут в файле проекта или целевом файле, который он не распознает. MSBuild проверяет атрибуты элементов в файлах проекта, чтобы убедиться, что они соответствуют правильному синтаксису MSBuild и поддерживаемым атрибутам для каждого элемента.
Возможные причины
Как правило, ошибка вызвана одним из следующих причин:
- Опечатка в имени атрибута в файле проекта MSBuild (например,
.csproj
,.vbproj
или.proj
). - Использование неподдерживаемого или устаревшего атрибута в файле проекта.
- Использование метаданных в атрибуте в версии MSBuild, которая не поддерживает эту конструкцию.
- Атрибут был добавлен в файл проекта, но не распознается версией MSBuild.
Некоторые элементы схемы, например Choose
, не разрешают какие-либо атрибуты, поэтому если вы попытаетесь использовать его, например добавление Condition
, вы получите эту ошибку.
Резолюция
Проверьте на наличие опечаток:убедитесь, что имя атрибута указано правильно и соответствует ожидаемой схеме.
Удалить неподдерживаемые атрибуты: перекрестная ссылка на документацию MSBuild, чтобы убедиться, что атрибут действителен для определенного элемента. См. справочник по схеме файла проекта MSBuild.
Используйте синтаксис метаданных, поддерживаемый версией MSBuild: если проблема использует метаданные в качестве атрибута (например,
Version="1.0"
гдеVersion
фактически метаданные, а не атрибут), можно изменить старый синтаксис метаданных.<PackageReference Include="System.Diagnostics.Process"> <Version>1.0</Version> </PackageReference>
Поддержка указания метаданных элемента в качестве атрибутов была добавлена между MSBuild 14 и MSBuild 15.
обновить версию MSBuild: если атрибут является новым и не распознан, убедитесь, что вы используете версию MSBuild, которая его поддерживает.
Применимо к
Все версии MSBuild