2012-11-11 19 views
7

Update 1: ho caricato la mia cartella di progetto al set - dropbox.com/s/8dfw3uprrynrhzx/S3Util.zipC Errore # compilatore CS0433

Sono nuovo di Visual Studio, e ho creato un piccolo di Windows Runtime componente in C# su Visual Studio 2012 Express per Windows 8

Il mio componente è costituito da una singola classe sigillata, con un unico metodo statico. Ho aggiunto un progetto di libreria di test unitari alla soluzione per testare questo metodo statico.

(ho seguito this walkthrough per creare una prova di unità)

Quando costruisco la soluzione, ottengo il seguente errore:

Error 1     The type 'S3Util.S3Security' exists in both 'c:\workspace\vs\S3Util\S3Util\bin\Debug\S3Util.winmd' and 'c:\workspace\vs\S3Util\S3Util\bin\Debug\S3Util.winmd'
C:\workspace\vs\TestLib_S3Util\TestLib_S3Util\Test_Security.cs 18 27 TestLib_S3Util

Il error help page on Microsoft website indica che si tratta di un CS0433 Errore del compilatore.

Tuttavia, la mia libreria di test unità contiene solo un riferimento al mio progetto componente runtime di Windows, e anche il messaggio di errore che vedo si riferisce allo stesso file .winmd due volte. Gentilmente aiutami a capire il problema e come risolverlo.

Errore screenshot: (clicca per full size)

+0

La mia ipotesi è che sia un bug di Visual Studio. Prova a eliminare tutti i file nelle cartelle bin e obj (manualmente tramite Esplora risorse o tramite l'opzione Pulisci soluzione in Visual Studio). Potresti voler anche riavviare VS dopo aver eliminato anche questi file. –

+0

Non so davvero a che cosa possa riferirsi quell'errore, ma potrebbe essere che stai facendo riferimento a diverse versioni della tua libreria? Forse stai facendo riferimento a una DLL compilata e non al tuo progetto esistente? –

+0

Grazie per la risposta Hector. Ho eliminato tutti i file nelle cartelle bin e obj, ho riavviato Visual Studio e ho provato a creare nuovamente la soluzione, ma ottengo lo stesso errore. Forse, come hai detto, è un bug di Visual Studio. Sto cercando di entrare in contatto con il team di Microsoft. –

risposta

1

Nei casi in cui non so il motivo per cui si verifica l'errore che sto iniziando a restringere la lista delle possibilità. Farei quanto segue:

  1. Cercare una classe S3Security tramite ricerca. Se ne trovi 2, rimuovine uno.
  2. Provare a rimuovere uno dei riferimenti sono stati aggiunti di recente e compilare. Rimuovi fino alla compilazione del progetto.
  3. Provare a rimuovere i file/progetti più recenti fino alla compilazione della soluzione senza errori. Puoi anche provare una mossa inversa, iniziare a fare i punti che stavi facendo e controllare in quale fase otterrai il tuo errore. Facci sapere cos'è.
+0

Grazie per la risposta, Yaroslav. 1. Questo è il mio primo e unico progetto in Visual Studio, quindi non trovo un'altra S3Security nel mio spazio di lavoro 2. L'unico riferimento ho aggiunto un riferimento al progetto S3Util e l'ho aggiunto al mio progetto di test dell'unità. 3. Ci sono solo 2 file nel progetto, una volta .cs per la mia classe S3Util e un file .cs per il mio test dell'unità –

+0

@AnilRaj come si cambia il nome di una classe da S3Security a qualcos'altro? Si lamenterà contro il nuovo nome o è l'unico nome che viene trattato in quel modo? –

+0

Ho appena provato anche questo, ma continuo a ricevere lo stesso errore (con il nuovo nome della classe) –