Freigeben über


MSB4248 Diagnosecode

In diesem Artikel wird der MSB4248 Fehlercode beschrieben.

Nachrichtentext

MSB4248: Cannot expand metadata in expression 'expression'.

Bemerkungen

Der MSB4248 Fehler tritt auf, wenn MSBuild keine Elementmetadaten in einem Buildvorgang erweitern kann. Diese Situation tritt in der Regel auf, wenn Metadatenverweise in einem ungültigen Kontext verwendet werden oder wenn die Metadaten, auf die verwiesen wird, für das Element nicht vorhanden sind.

Mögliche Ursachen

Dieser Fehler kann aus folgenden Gründen ausgelöst werden:

  1. Metadaten werden für das Element nicht unterstützt Zum Beispiel das Verweisen auf %(RootDir) bei einem Element, das kein Pfad ist.

  2. dynamische Elementmetadaten in komplexen Builds

    • Dynamisch generierte Elementmetadaten sind je nach Buildkonfiguration möglicherweise nicht immer verfügbar.

Auflösung

  1. Überprüfen, ob die angeforderten Metadaten mit dem Element konsistent sind.

  2. Bedingten Zugriff auf Metadaten gewähren

    • Stellen Sie für dynamische Builds sicher, dass auf Metadaten bedingt zugegriffen wird, um zu vermeiden, dass auf nicht definierte Metadaten verwiesen wird:

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

Betrifft

Alle Versionen von MSBuild