asp.net 3.5 che fa riferimento al progetto con riferimento all'assembly genera un errore di firma / nome sicuro in Unit Test

StackOverflow https://stackoverflow.com/questions/4846718

Domanda

Ho un riferimento a un assembly MySQL.Data 5.2.3 in un livello dati, ottimo. Al momento ho una piccola app per console con la stessa soluzione che fa riferimento SOLO A QUESTO livello dati che si collega perfettamente. Ho quindi creato un progetto di unit test (anche nella stessa soluzione) e ho fatto riferimento allo stesso progetto del livello dati, e da questo ottengo:

Il metodo di test LTTests.WrapperTest.LoginTest ha generato un'eccezione: System.IO.FileLoadException: Impossibile caricare il file o l'assembly "MySql.Data, Version= 5.2.3.0, Culture= neutral, PublicKeyToken= c5687fc88969c44d" o uno di le sue dipendenze. Impossibile verificare la firma del nome sicuro. L'assembly potrebbe essere stato manomesso oppure è stato firmato in ritardo ma non completamente firmato con la chiave privata corretta. (Eccezione da HRESULT: 0x80131045).

Quindi sto cercando di capire ... posso farlo per un exe di console e funziona ma non per uno unit test? Questo mi rende nervoso all'idea di costruire su qualcosa di apparentemente imperfetto, ma non so cosa fare dopo. Mi sono perso, ho aggiunto di nuovo varie cose alla ricerca di quale fosse l'affare e non ho idea.

L'eccezione proviene dal livello dati e non dal test (per stack), quindi è come se il test chiamasse il metodo del livello (duh) e il livello dati vomitava ma non per la console?

Grazie.

È stato utile?

Soluzione

Questa non è la risposta al motivo per cui si è verificato un errore, ma un modo possibile per scoprirlo:

È possibile utilizzare "Assembly Binding Log Viewer" (Fuslogvw.exe) che appartiene a dotnet sdk per scoprire cosa viene caricato e perché.

Se la registrazione è abilitata, può mostrare quali assembly vengono caricati da quale directory e quale assembly ne ha causato il caricamento.

Per i dettagli, vedere http:// msdn.microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

quindi potrebbero esserci versioni diverse di MySql.Data in giro e il messaggio di errore significa che il numero di versione trovato non è quello previsto.

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