2015-05-07 10 views
6

Hallo, ich bin immer einen Fehler in dem VSO-Protokoll und einen Build AusfallVisual Studio Online kann nicht Funktion in der Klasse in Klassenbibliothek auf dem Server Build lokalisiert

d: \ a \ src - *** - \ r2rJSONcall.aspx.vb (31): 'rptJSONRoutesTable' ist nicht ein Mitglied von 'r2rSearchResponse'.

Und doch ist es!

r2rJSONcall.aspx.vb

Public Class r2rJSONcall 
... 

    Property r2rResponse As New r2rSearchResponse 
    ... 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 


    'call the webservice.. 
    ... 

    Response.Write(r2rResponse.rptJSONRoutesTable("EUR")) 

und in einem Classlibrary ..

Public Class r2rSearchResponse 
    ... 
    Function rptJSONRoutesTable(userCurrencyCode) As String 

Es ist natürlich kein Problem läuft lokal.

Ich habe versucht, eine Änderung von einem Byte zu machen und recommitting, auch die zugehörige DLL war unter Quellcodeverwaltung, also entfernte ich und füge das hinzu. Keine Freude.

UPDATE - Nein, schlechte Nachrichten die Antwort, die ich unten veröffentlicht habe, löste das Problem vorübergehend. Es hat seinen hässlichen Kopf noch einmal aufgezogen und egal, was keinen Build zu funktionieren scheint.

Die folgenden Verfahren wurden bisher versucht, richtig ein VSO Online-Build zu kompilieren zu erhalten:

1) Ich meine lokalen Ordner gelöscht und ausgeführt, um eine volle Kasse von Sourcecontrol - vorgeschlagen von @MetaFight. Das kompiliert gut lokal, keine Dateien fehlen.

2) Ausschließen der Ordner/Bin und/Obj. Also keine DLLs eingecheckt in Quelle wie von @PhilipKendall

3) MSBuild lokal ausgeführt werden. Die Lösung kompiliert OK.

4) Umbenennen und dann Funktion innerhalb der ClassLib verschoben, um zu versuchen, die Neuerstellung auf Azure Server auszulösen. Kann die Funktion immer noch nicht finden.

5) Überprüfte Build-Reihenfolge, Classlib wird zuerst kompiliert. Die Option "Reinigen" wurde in Build-Profil ausgewählt.

6) Überprüft, ob die Referenzen korrekt sind. Ich kann die Referenz in der vbproj-Datei sehen. Die Referenzen sind Projektreferenzen, keine Dateireferenzen.

7) Gelöschtes Buildprofil in Azure/VSO. Neues Builddefinitionsprofil und neue Web App in Azure erstellt - der Fehler wird erneut angezeigt.

8) Versucht diese Lösung Library/Static Method not Updating in Azure Nein Merge Fehler wie Punkt 3) auf dieser Seite.

Jeder TFS/VSO-Experte da draußen kann helfen?

+0

Versuchen Sie, von einem neuen Checkout zu bauen. Dadurch werden möglicherweise Dateien hervorgehoben, die Sie möglicherweise der Quellcodeverwaltung hinzugefügt haben. – MetaFight

+0

Ziehen Sie dotPeek oder was auch immer Ihre Lieblings-.NET-Decompiler ist und überprüfen Sie, ob die Funktion * wirklich * in der DLL ist. –

+0

@MetaFight - Entschuldigung, ich bin ein komplettes noob hier. Was meinst du "Gebäude von einem frischen Checkout" – bendecko

Antwort

0

Entschuldigung für nicht früher zurückkommen.

Wie bereits erwähnt, kam das Problem zurück, obwohl es nach dem Check-in vom Rogue-Programmierer geschafft hatte, es wieder aufzubauen.

Am Ende haben wir die Classlib umbenannt (durch Rechtsklick und Umbenennen). Dann überprüft die Referenzen zu dieser Classlib von allen anderen Projekten, die es erfordern. Es gab ein Unterprojekt, das auf "add .. reference ..." nicht das Kontrollkästchen hatte, sondern in Properties des Projekts und Referenzen tat. Dies muss die Zeile in der vbproj-Datei korrekt wiederhergestellt haben.

Kongo wir bauen!

1

Wir arbeiten in einem kleinen Team und ein neues Mitglied ohne VSO-Erfahrung ist an Bord gekommen. Er arbeitet auf der Vorderseite AJAX, JSON, CSS, HTML5 - keine Notwendigkeit, die Klassenlibs oder irgendetwas anderes zu verwenden - nur seinen Code über TFS einreichen.

Ich vermutete, dass er ein Problem sein könnte, so behoben Remote-Zugriff und ging in. Er hatte nicht aktualisiert Windows 7 seit neu - rund 4 Jahren. "Niemals hatte einen BSOD" war die Antwort. Er versuchte IIS zu installieren, worüber die Maschine nicht sehr glücklich war, also konnte ich nicht lokal testen, ich weiß nicht, was der Webserver in Visual Studio tat - sein System war nicht auf Englisch.Wie auch immer, ich habe mit der rechten Maustaste geklickt, wo ich die englische Version gemacht hätte, und einen rekursiven Pull gemacht - dann habe ich auf "Pending Changes" geklickt und einen Check-in gemacht.

Erfolg - Lösung gebaut OK.

Ich habe meinem Programmierer gesagt, dass er Visual Studio löschen und nie wieder einen Checkout auf diesem PC durchführen soll - und er stellt ihm einen Remote-Desktop mit vollständig gepatchter Maschine und Software zur Verfügung.

0

Sie können eine der folgenden Methoden tun:

1) Haben Sie „Aktivieren Nuget Package Restore“ für Ihr Projekt?

können Sie die folgende Dokumentation verwenden, die dafür:

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

Oder:

2) Lesen Sie die Quelle unten, kann es Ihnen helfen, wenn erste Methode nicht anwendbar für Sie oder don ist ‚t help:

http://blog.codingoutloud.com/2013/08/31/are-you-missing-an-assembly-reference-why-yes-i-am-so-kind-of-you-to-ask/

ich hoffe, beide angebotenen Methode, um Ihre Frage zu unterstützen.

+0

Dies sind gute Bibliothekslösungen von Drittanbietern. Unser Problem war grundlegender - es war ein Verweis auf eine Klasse, die von uns geschrieben und zusammengestellt wurde und vollständig in unserer Lösung enthalten war – bendecko

Verwandte Themen