Der Typ 'xxx' definiert ist, in einer assembly, auf die nicht verwiesen wird
Ich habe scheuern im internet nach einer Antwort auf diese und könnte wirklich Hilfe.
Habe ich schon geschaut bei anderen posts zu diesem Fehler, und keine von den Antworten hat mir geholfen.
Die voller Fehler ist,
Den Typ 'xxx' definiert ist, in einer assembly, auf die nicht verwiesen wird. Müssen Sie fügen Sie einen Verweis auf die assembly "xxx, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
Die Lösung baut feines lokal, aber der Fehler tritt auf, wenn ich die trigger ein build auf dem build-server.
Hier ist, was ich bisher getan habe, in einem Versuch zur Lösung dieses Problems:
- Sorgte dafür, dass alle Referenzen korrekt sind(die Hatte ein Architekt überprüfen
mit mir) - Geändert die 'SpecificVersion' - Eigenschaft auf true
- Den Verweis entfernt und Hinzugefügt es zurück(In VS2012 und bearbeitet
die .csproj-Datei selbst) - Integrierte Lösung, die lokal auf dem server zu bauen, es geht
- BEARBEITEN - ich sollte auch erwähnen ich gebaut habe, diese Lösung auf zwei verschiedenen Servern zu bauen und immer noch die gleichen Fehler
Ich bin mit VS2012 und TFS2012, dies zu tun.
Ich würde wirklich zu schätzen jede Hilfe, vielen Dank.
*UPDATE:*ich habe gerade ein MSBuild auf dem build-server, sondern verändert die Konfiguration auf "Release" und war in der Lage, um Teile zu reproduzieren des Fehlers. Einige der wichtigsten Unterschiede ist aber, dass die version, die es sucht plötzlich 1.3.1.15 anstelle von 0.0.0.0 und der PublicKeyToken ist nicht mehr null. Weiß jemand, was das bedeuten könnte? Der assembly-version sein soll ist 0.0.0.0.
Ja, alles ist unter .NET 4.0
InformationsquelleAutor Albert | 2013-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, nachdem wir in ein paar Stunden mit meinem Architekten haben wir das Problem entdeckt haben. Unsere Entwickler hatten mehrere Kopien der gleichen dll begraben in verschiedene Ordner in die Quelle unserer Kontrolle. Eines der Projekte war die Referenzierung der falsche .dll.
Nach der Festsetzung der Bezüge und entfernen die extra uneeded .dlls, die Fehlermeldung ist Weg und unsere builds sind endlich arbeiten! 🙂
InformationsquelleAutor Albert
Sie erwähnte, dass Sie versucht, die Gebäude-Lösung auf dem test-server. Hast du mit visual studio 2012 erstellen Sie die Lösung, oder hast du tatsächlich laufen msbuild?
Der genaue test wäre die Verwendung von msbuild-ähnlich wie diese:
MSBuild-MySolution.sln /p:Configuration="Debug" /p:Platform="CPU Keine"
Können Sie tatsächlich den genauen Befehl, indem man die build-Protokolle für TFS-Build, es wird eine Liste der build-Befehl ausgeführt und einfach führen Sie es selbst (Sie müssen entfernen extra Zeug TFS-Build-fügt für die Protokollierung)
Danach führen Sie den gleichen Befehl auf Ihrem lokalen Computer und sehen, ob es geht.
Andere Sache zu versuchen ist, setzen Sie "copy local" für alle Baugruppen im Projekt.
Hoffe, das hilft!
so ist es nicht bauen, verwenden von msbuild auf dem build-server? auch verwenden Sie standard-xaml-Code für tfs-build, oder ist es ein custom/modified? Nun über die build-Konfiguration: was ist Ihre Einstellung zur "Sauberen " Arbeitsbereich" in den build-Prozess-Parameter? Wenn der build fehlschlägt, sehen Sie den gesamten Quelltext in "Build-Agent-Ordner" und ist das die Lösung, die Sie kompilieren, beim ausführen von MSBuild?
Ja, es baut mithilfe von msbuild auf dem build-server. Ich bin mit der standard-xaml-Prozess-Vorlage, und meiner "Sauberen " Arbeitsbereich" die Option "Ausgänge". Aber ich habe es auf "Alle", wie gut und lief das bauen mit kein Glück. Ich habe die Ordner auf dem server und es macht haben alle den source code beim ausführen von msbuild.
InformationsquelleAutor Woland