2015-05-07 6 views
6

Hi Ricevo un errore nel registro VSO e un errore di generazioneVisual Studio in linea non è possibile individuare funzione nella classe nella libreria di classi sul server di build

d: \ a \ src - *** - \ r2rJSONcall.aspx.vb (31): 'rptJSONRoutesTable' non è un membro di 'r2rSearchResponse'.

Eppure lo è!

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")) 

e in un ClassLibrary ..

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

E, naturalmente, eseguito localmente nessun problema.

Ho provato a fare una modifica di un byte e la riaccensione, anche la DLL associata era sotto controllo del codice sorgente, quindi ho rimosso e aggiunto quello. Nessuna gioia

AGGIORNAMENTO - no, cattive notizie la risposta che ho postato di seguito ha risolto il problema temporaneamente. Ha rialzato la sua brutta testa ancora una volta e non importa cosa non riesca a far funzionare una build.

Le procedure seguenti sono stati provati finora per ottenere una costruzione in linea VSO per compilare correttamente:

1) Ho eliminato il mio cartelle locali ed eseguito un checkout completo da SourceControl - suggerito da @MetaFight. Che compila bene localmente, nessun file mancante.

2) Escluse le cartelle/Bin e/Obj. Quindi nessuna DLL è archiviata come suggerito da @PhilipKendall

3) Eseguire MSBuild localmente. La soluzione compila OK.

4) Rinominata, quindi spostata la funzione all'interno del classlib per provare a innescare la ricostruzione sul server Azure. Ancora non riesci a trovare la funzione.

5) Ordine di compilazione verificato, Classlib viene compilato per primo. Opzione "Pulisci" selezionata su Build Profile.

6) Verificare che i riferimenti siano corretti. Posso vedere il riferimento nel file vbproj. I riferimenti sono riferimenti di progetto, non riferimenti di file.

7) Profilo di build cancellato in Azure/VSO. Creato un nuovo profilo di defintition build e una nuova app Web in Azure: ricompare l'errore.

8) Ho provato questa soluzione Library/Static Method not Updating in Azure No Unisci errore come il punto 3) su quella pagina.

Qualsiasi esperto TFS/VSO può aiutare?

+0

Prova a costruire da una cassa nuova. Ciò potrebbe evidenziare qualsiasi file che potresti aver dimenticato di aggiungere al controllo del codice sorgente. – MetaFight

+0

Estrarre dotPeek o qualunque sia il decompilatore .NET preferito e verificare che la funzione * really * sia nella DLL. –

+0

@MetaFight - scusate, sono un completo noob qui. Cosa intendi per "costruire da una cassa nuova" – bendecko

risposta

0

Scuse per non essere tornato prima.

Come discusso il problema è tornato anche se è riuscito a costruire dopo il check-in dal programmatore canaglia, successivamente è tornato a non costruire.

Alla fine abbiamo ribattezzato il classlib (facendo clic con il tasto destro e rinominando). Quindi verifica i riferimenti a quel classlib da tutti gli altri progetti che lo richiedono. C'era un sottoprogetto che su "aggiungi ... riferimento ..." non aveva la casella di controllo attiva, ma nelle Proprietà del progetto e dei riferimenti. Quindi questo deve aver ristabilito correttamente la linea nel file vbproj.

Congo, noi costruiamo!

1

Lavoriamo in un piccolo team e un nuovo membro senza esperienza VSO è entrato a far parte. Sta lavorando su Frontside AJAX, JSON, CSS, HTML5 - non c'è bisogno di usare i classlibs o qualsiasi altra cosa - basta inviare il suo codice tramite TFS.

Sospettavo che potesse essere un problema, quindi ha risolto l'accesso remoto ed è entrato. Non aveva aggiornato Windows 7 da nuovo, circa 4 anni. "Non ho mai avuto un BSOD" è stata la risposta. Stava cercando di installare IIS, che la macchina non era molto contenta, quindi non poteva testare localmente, non so cosa stava facendo il server web in Visual Studio - il suo sistema non era in inglese.Ad ogni modo, ho fatto clic con il pulsante destro del mouse sulla posizione in inglese e ho fatto un pull ricorsivo, quindi ho fatto clic su ciò che sembrava essere il Pending Changes e ho effettuato un check-in.

Success - soluzione costruita OK.

Ho detto al mio programmatore di eliminare Visual Studio e non eseguire mai più una verifica su quel PC - e gli sto fornendo un desktop remoto con macchina e software completamente rattoppati.

0

Si può fare uno dei seguenti metodi:

1) Avete controllo "Attiva Nuget Pacchetto Restore" per il vostro progetto?

È possibile utilizzare la seguente documentazione per farlo:

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

Oppure:

2) Leggere la fonte di seguito, può essere utile se primo metodo non è applicabile per voi o don '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/

Spero sia di metodo offerto sostegno alla tua domanda.

+0

Queste sono buone soluzioni di libreria di terze parti. Il nostro problema era più fondamentale: si trattava di un riferimento a una classe scritta e compilata da noi e interamente contenuta nella nostra soluzione – bendecko

Problemi correlati