Domanda

Sono assolutamente sbalordito dal fatto che MS non riuscivo a entrare a destra per passare alla definizione di un metodo, quando stai combinando C# e VB progetti in un'unica soluzione.Se stai cercando di passare da VB a C#, riporta l'Oggetto "Explorer", e se da C# a VB, genera un file di metadati.

Onestamente, cosa c'è di così complicato salto tra diverse lingue, soprattutto se sono presumibilmente utilizzando lo stesso CLR?

Qualcuno sa perché questo è, o se c'è qualche soluzione alternativa?Che ha fatto ottenere a destra in VS 2008?


@Keith, ho paura che potrebbe essere giusto per la vostra risposta.Sono veramente sbalordito che Microsoft avvitato questo così male.Qualcuno ha qualche idea per risolvere il problema?


@Mladen Mihajlovic - che è esattamente la situazione che sto descrivendo.Provate voi stessi;i riferimenti del progetto non uno straccio di differenza.

È stato utile?

Soluzione

Questo è generale per entrambe le lingue.

  • F12 in VB.Net prende sempre per il browser degli oggetti
  • F12 in C# sempre porta ad una meta-dati definizione

Questo è un deliberato meccanismo di provare e abbinare il comportamento previsto per l'aggiornamento degli utenti.Il C# modo si dà il diritto di informazione, ma il VB modo è ciò che gli utenti di VBA o VB6 si aspetta.

Il comportamento è lo stesso nel 2008.

Queste sono le regole per progetti esterni, entrambi dovrebbero prendere il codice se è nella stessa soluzione.


Sei proprio diritto - progetti VB trattamento di C# progetti esterni e viceversa, è possibile passare dal codice in l'uno e l'altro.L'ho provato nell'ultima VS2008 ed è ancora un problema.

Inoltre non riesce a completare i meta-dati.Aggiungere un metodo di codice C# e non apparirà in VB intellisense dell'fino a quando si compila il C# assemblea.

Questo è simile al modo in cui i componenti vengono visualizzati nella toolstrip, così io penso che il normale passare al codice è una caratteristica di codice con un comune compilatori, e tutto il resto usa un qualche tipo di riflessione.

Finché si sta ancora costruendo una PPB dovrebbe essere in grado di trovare il file, credo che non perché ne hanno bisogno per supportare le build di rilascio troppo.Non riuscivo a trovare la riga di codice senza il PPB ricerche.

Altri suggerimenti

Assicurati che il tuo riferimento è al VB progetto e non solo un file DLL.

È un problema noto, la soluzione sono due:utilizzare ctrl+, o utilizzare alcuni plugin che aggiungere questa funzione, come resharper (che si andranno ad aggiungere questa funzione F12).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top