Partilhar via


MSB4248 código de diagnóstico

Este artigo descreve o código de erro MSB4248.

Texto da mensagem

MSB4248: Cannot expand metadata in expression 'expression'.

Comentários

O erro MSB4248 ocorre quando o MSBuild não consegue expandir metadados de item em uma operação de compilação. Essa situação normalmente acontece quando as referências de metadados são usadas em um contexto inválido ou quando os metadados que estão sendo referenciados não existem para o item.

Causas possíveis

Este erro pode ser gerado pelos seguintes motivos:

  1. Metadados não suportados para o item Por exemplo, referenciar %(RootDir) em um item que não é um caminho.

  2. Metadados de itens dinâmicos em compilações complexas

    • Os metadados de item gerados dinamicamente podem nem sempre estar disponíveis, dependendo da configuração de compilação.

Resolução

  1. Valide se os metadados solicitados são consistentes com o item.

  2. Acesso condicional a metadados

    • Para compilações dinâmicas, certifique-se de que os metadados sejam acessados condicionalmente para evitar a referência a metadados indefinidos:

      <Message Text="Target Framework: %(Metadataname)" Condition="'%(Metadataname)' != ''" />
      

Aplica-se a

Todas as versões do MSBuild