it-swarm.com.de

csc-Fehler Die cs0006-Metadatendatei konnte beim Erstellen einer .net 3.5-Anwendung mit TFS 2012 nicht gefunden werden

Wir führen ein Upgrade von TFS 2008 auf TFS 2012 durch. Die Mehrheit unserer Anwendungen sind .net 3.5-Anwendungen.
Wir haben eine TFS 2012-Umgebung eingerichtet und den Migrationsprozess durchlaufen. Wenn wir versuchen, unsere .net 3.5-Anwendungen zu erstellen, wird der Fehler angezeigt:

csc error cs0006 metadata file could not be found........

Wenn Sie eine .net 3.5-Anwendung verwenden, aktualisieren Sie sie auf .net 4.x, und führen Sie den Build erneut aus. Das funktioniert problemlos.

Ich kann nicht jede einzelne Anwendung aktualisieren, die ich während dieser Migration habe. Gibt es etwas, das ich entweder in der Migration oder in meiner Build-Box fehlt, um 3.5 zu unterstützen?

Ich habe VS 2008, 2010, 2012 auf meinem Build-Server installiert. Ich habe .net-Frameworks installiert usw. 

Jede Hilfe ist hilfreich.

28
Kevin Price

Die Projektabhängigkeiten und Projekterstellungsreihenfolge können in Visual Studio 2012 angegeben werden, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und Projektabhängigkeiten auswählen. Durch diese Aktion wird Ihre Lösungsdatei behoben. In meinem Fall konnte ich dieses Problem beheben, ohne die Lösungsdateien manuell zu bearbeiten.

15

Wir bekommen diese Probleme beim Wechseln zwischen Zweigen (mit signifikanten Änderungen). Wenn es passiert, empfehle ich Folgendes:

  • Schließen Sie Visual Studio
  • Schließen Sie Instanzen von w3wp.exe (paranoid und nur, wenn Sie über lokales IIS hosten).
  • Suchen und löschen Sie alle bin- und obj-Ordner
  • Bereinigen Sie alle kompilierten, mit JIT erstellten Assemblys unter C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporäre ASP.NET-Dateien \

Wenn Sie diesen Satz von Willen befolgen, tun Sie, was "Clean Solution" tun soll, aber nicht. Im Wesentlichen versuchen wir, jegliche Chance zu vermeiden, dass irgendetwas irgendwo zwischengespeichert wird (was die häufigste Ursache für diese Probleme ist).

Natürlich kann Ihre Laufleistung variieren, aber für uns mit 120 Projekten und 1,3 Millionen Zeilen Code-Refaktoren werfen wir dieses Problem regelmäßig auf und lösen es zuverlässig.

7
Paul Carroll

Dies scheint durch die Tatsache verursacht zu sein, dass die Visual Studio-Lösungsdatei die Projektabhängigkeiten nicht enthält. Ich fand, dass ich die Lösungsdatei manuell bearbeiten musste, um die Abhängigkeiten mithilfe der Projekt-GUIDs festzulegen.

In unserer Lösungsdatei hatten wir zum Beispiel so etwas:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
EndProject

Beachten Sie, dass keine Abhängigkeiten angegeben sind. Dies sollte eher so sein, wenn die zusätzlichen GUIDs die GUIDs des Projekts sind, von dem ProjectA abhängig ist.

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
    ProjectSection(ProjectDependencies) = postProject
        {EB576061-5081-4ED5-9146-1B20C893E51E} = {EB576061-5081-4ED5-9146-1B20C893E51E}
        {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40} = {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40}
        {03FAB21D-C077-499B-9B19-67971791D369} = {03FAB21D-C077-499B-9B19-67971791D369}
        {F5E0C7B8-36AD-46B0-A74D-9C48516E208A} = {F5E0C7B8-36AD-46B0-A74D-9C48516E208A}
    EndProjectSection
EndProject

Weitere Informationen finden Sie unter post .

5
Nicholas Roeder

In meinem Fall wurde eines der Projekte nicht gebaut, aber in den Fehlern wurde es absolut nicht erwähnt. Nachdem ich ein paar Stunden lang an meinen Haaren gezogen und ein paar F-Bomben abgeworfen hatte , habe ich mir endlich die Ausgabe genau angesehen und festgestellt, dass ein Fehler aufgetreten ist:

enter image description here

Und das war es. Ich habe es behoben und alle Fehler waren verschwunden. Aber ich wurde neugierig und änderte den Code zurück in den Code, der nicht kompiliert werden konnte. Ich habe einen Build gemacht und jetzt habe ich den freundlichen Build-Fehler bekommen. Aus irgendeinem Grund wurde der Fehler nicht angezeigt. Keine Ahnung warum ...

4
CodingYoshi

Ich hatte ein ähnliches Problem. In meinem Fall konnte ich es in zwei Schritten lösen. Zuerst habe ich die Lösung mit der Option "Lösung reinigen" gereinigt. Nach der Bereinigung der Lösung stellte der Debugger fest, dass ich veraltete Versionen der Microsoft.Aspnet.Mvc-Bibliothek installiert hatte. Also habe ich die neuen über die Library-Konsole mit den folgenden Zeilen installiert -Projektname _____________

2
AGuler

Ich hatte auch den gleichen Fehler.

Die Lösung bestand darin, den Pfad zu überprüfen. In meinem Pfad hat ein Ordner den Namen abc% 20ert . Dies kam von der Synchronisierung des Raumes von git. Visual Studio hat Probleme mit dem% 20 im Pfad. Wenn Sie das entfernen, wurde das Problem behoben.

2

Überprüfen Sie die Ziel-Framework-Version in jedem Projekt => Eigenschaftenbildschirm. Wenn es niedriger ist als in Referenzprojekten oder Dateien verwendet, erhalten Sie eine Fehlermeldung, da der Compiler nicht weiß, wie er mit der höheren Version des Frameworks umgehen soll.
Nach dem, was Sie beschreiben, haben Sie eine Abhängigkeit, die das Framework v4.0 als Ziel hat.
 
Ändern Sie das Zielframework für Abhängigkeiten einzeln, bis Ihr Projekt erstellt wird.

Wenn es sich um eine Drittanbieter-Closed-Source-Abhängigkeit handelt, bitten Sie diese, das .net 3.5-Ziel anzugeben.


Es gibt keine Problemumgehung.

1
michal

Ich habe diesen Fehler erhalten, als ich in einem ASP.NET-Projekt C # 7-Sprachfeatures verwende, wo es keine aktuelle Version des NuGet-Pakets Microsoft.Net.Compilers gab, wie in Aktivieren von C # 7 in einer asp.net-Anwendung beschrieben.

1
Bart Verkoeijen