Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird der MSB3107 Fehlercode beschrieben.
Nachrichtentext
MSB3107: The specified project reference metadata for the reference 'referenced-project-name' is missing or has an invalid value:
BESCHREIBUNG
Dieser Fehler tritt auf, wenn ein Problem mit einer ProjectReference
Projektdatei auftritt. Ein ProjectReference
Element in MSBuild gibt eine Abhängigkeit von einem anderen Projekt in der Projektmappe an, z. B. wenn Sie auf ein Klassenbibliotheksprojekt in einem Projekt verweisen, das die Bibliothek verwendet. Im C#-Code können Sie häufig nach den using
Direktiven im Projekt suchen, um zu sehen, wie sie von den im anderen Projekt definierten APIs abhängt. Das folgende Codebeispiel zeigt ein ProjectReference
-Element, das auf Calculator.Library
verweist.
<ItemGroup>
<ProjectReference Include="..\Calculator.Library\Calculator.Library.csproj" />
</ItemGroup>
Dies ProjectReference
kann Unterelemente enthalten, die Metadaten definieren, die Details zum Verweis angeben. In der Dokumentation finden Sie die unterstützten Metadatenelemente in allgemeinen MSBuild-Projektelementen – ProjectReference.
Beschluss
Überprüfen Sie das ProjectReference
in der Fehlermeldung erwähnte Element, und korrigieren Sie offensichtliche Fehler wie Rechtschreibfehler oder Tippfehler in dem Wert, auf den in der Fehlermeldung verwiesen wird, oder andere Werte, die in der ProjectReference
Fehlermeldung angegeben sind.
Wenn sich der Fehler auf eine Project
Metadaten mit einem GUID-Wert bezieht, können Sie normalerweise das Project
Metadatenelement und dessen Wert löschen. In früheren Versionen von MSBuild wurde ein GUID-Wert für das Project
Metadatenelement erwartet, das zum Identifizieren des Projekts verwendet wird. Wenn sie vorhanden ist, muss die GUID die korrekte Projekt-GUID (aus der Lösungsdatei) sein und darf keine Syntaxfehler aufweisen. Das folgende Beispiel zeigt die richtige Syntax mit dem Metadatenelement und dem Project
GUID-Wert.
<ItemGroup>
<ProjectReference Include="..\Calculator.Library\Calculator.Library.csproj">
<Project>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Project>
</ProjectReference>
</ItemGroup>
Sie können das ProjectReference
Element auch aus der Projektdatei löschen und einen Verweis auf das Projekt erneut in der Visual Studio-IDE hinzufügen. Wenn Sie eine neue Projektreferenz in Visual Studio hinzufügen, werden die Elemente in der Projektdatei mit den aktuellsten Metadaten und Werten neu erstellt. Siehe Registerkarte 'Verweise hinzufügen oder entfernen' – Registerkarte 'Projekte'.
Überprüfen Sie das Attribut ToolsVersion
. Es ist in späteren Versionen von MSBuild nicht mehr erforderlich, sodass Sie versuchen können, sie zu löschen. Falls vorhanden, sollte sie 4.0
oder höher sein.
Gilt für:
Alle Versionen von MSBuild