2013-05-01 6 views
6

Ho appena ottenuto un nuovo PC (Win 7) con VS 2010 (stessa versione del mio vecchio PC). Ho ottenuto una soluzione VB.NET dal controllo del codice sorgente che contiene due progetti. Uno dei progetti va bene. L'altro progetto contrassegna ogni istruzione Imports non MS con:Il nuovo pc che causa "spazio dei nomi del tipo specificato nelle importazioni non contiene alcun membro pubblico" in VB.NET

Spazio dei nomi o tipo specificato nelle importazioni & 1 non contiene membri pubblici o non può essere trovato. Assicurati che lo spazio dei nomi o il tipo sia definito e contenga almeno un membro pubblico. Assicurati che il nome dell'elemento importato non usi alcun alias.

La cosa ironica è che il progetto di lavoro all'interno della stessa soluzione fa riferimento a tutte le stesse DLL. Ho rimosso e aggiunto nuovamente le DLL, quindi so che sono lì e posso espanderle in Object Browser, quindi so che contengono metodi pubblici.

Ho esaurito le idee di cose da provare. Qualcuno può buttarmi un osso, per favore?

+0

Il progetto di lavoro ha le stesse istruzioni Imports? Cosa succede se si crea un nuovo progetto e si aggiungono i riferimenti e quindi si aggiungono le istruzioni Imports. Funziona? Stai usando riferimenti a file o riferimenti a progetti? –

+0

Potrebbe essere che i due progetti facciano riferimento a versioni diverse degli assiemi? Forse il nuovo PC ha solo una versione installata, ma quella vecchia ne ha diverse? –

+0

Entrambi i progetti utilizzano le stesse importazioni e i riferimenti esterni puntano agli stessi percorsi dei file. Il progetto fallito ha un riferimento al progetto di lavoro che non funziona. Entrambi i progetti hanno i riferimenti definiti nella scheda References in My Project. Un nuovo progetto all'interno della stessa soluzione sembra funzionare bene, ma sostituire il progetto fallito sarebbe un dolore orribile. – user2340157

risposta

2

Ho avuto un problema simile come prima. Nel mio caso il problema era che le dll si trovavano su un'unità di condivisione di rete (che nel mio sistema mostrava q :) quindi quando le ho referenziate il percorso del file era q: \ folder structure \ file.dll. Dopo aver cambiato computer, il mio sistema non ha più fatto riferimento a tale unità di condivisione come q: \ ma con un'altra lettera di unità, causando l'errore del mio programma in modo simile.

Nel mio caso, sono stato in grado di correggere questo problema e impedire che si ripetesse cambiando il modo in cui ho fatto riferimento alla dll dalla lettera di unità che è stata assegnata dal mio sistema locale al percorso di rete (\ SERVER NAME \ Drive Lettera \ percorso file \ file.dll).

4

Mi è successo. Per me, la nuova DLL stava prendendo di mira Dot Net 4.5, mentre il progetto a cui si riferiva era solo per il 4.0. Cambiando la nuova DLL per risolvere il problema risolto.

7

Ho avuto lo stesso problema che ho risolto modificando il Progetto Proprietà-> di compilazione> Avanzate Compile Opzioni-> Valore nominale quadro da .Net Framework 4.0 Client Profile per .Net Framework 4.0

0

stavo sperimentando la stesso problema. La DLL a cui facevo riferimento era costruita nel framework 3.5. Il progetto a cui stavo riferendo la DLL era in fase di costruzione 2.0. Ho cambiato il progetto di riferimento a 3.5 e l'ho realizzato perfettamente.

0

Ho riscontrato questo problema con progetti che facevano riferimento alla stessa versione del framework. L'ho risolto con i seguenti passaggi.

  1. Rimuovi riferimento alla DLL
  2. e ricostruire DLL
  3. e ricostruire Progetto
  4. readd di riferimento.
Problemi correlati