Ho un server TeamCity configurato per creare più soluzioni e quindi eseguire i test delle unità in essi utilizzando il NUnit Test Runner.Ho dei test unitari che passano in NUnit GUI e Resharper, ma falliscono quando Team City li esegue
Questo ha funzionato perfettamente per diversi mesi; tuttavia, con la nostra ultima build sto incontrando il seguente errore:
SetUp method failed. SetUp : System.IO.FileLoadException : Could not load file or assembly 'log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Succede solo per un singolo TestFixture che contiene 9 prove su centinaia in tutto il sistema. I test passano tutti quando viene eseguito utilizzando ReSharper o la GUI NUnit.
Il pacchetto Nuget fa correttamente riferimento sia al progetto in fase di test sia al progetto di test stesso. Non sono necessari reindirizzamenti dell'associazione di runtime necessari poiché è stata installata solo una versione di Log4Net.
Qualcun altro ha avuto un problema simile che hanno risolto o qualche idea su quale potrebbe essere il problema? Perché dovrebbe funzionare localmente e non sul server, soprattutto considerando gli stessi test passati in precedenza.
Le versioni di NUnit sia sul mio computer locale che sul mio server TeamCity sono le stesse.
Il messaggio di errore indica che si ha la versione errata di log4net, hai controllato che quella parte sia corretta? –
Sì, certo. Come ho detto, solo l'unica versione del pacchetto Nuget di Log4Net è stata installata e, se esaminata utilizzando ogni forma di riferimenti incrociati, posso pensare che sia la stessa versione. Costruisce e i test passano localmente, quindi sono abbastanza sicuro che non sia nulla di così semplice, purtroppo. – tker