Mi è stato chiesto di dare un'occhiata ad un errore in un'applicazione ASP/C# con la sua integrazione con Paypal. L'errore, mostrato in pieno, è:Impossibile caricare il file o l'assembly log4net o una delle sue dipendenze
Impossibile caricare il file o il montaggio 'log4net, Version = 1.2.0.30714, Culture = neutral, PublicKeyToken = b32731d11ce58905' o una delle sue dipendenze. La definizione manifest dell'oggetto ubicata nello non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040)
Da quello che ho capito, questo significa che il file effettivo trova (cioè, log4net.dll nella mia directory bin) non corrisponde alla versione prevista sulla base di alcune configurazioni di montaggio. Il problema che sto avendo è che non riesco a individuare dove viene fatto riferimento a questo file.
Ho accesso a tutti i file nella directory radice Web del sito e non è in grado di individuare alcun file di configurazione che faccia riferimento a questa DLL. In quale altro luogo potrei avere bisogno di cercare di determinare cosa sta causando il mis-match?
Come nota, ho fatto in modo che la versione della DLL nella directory bin sia aggiornata, ma questo non sembra aver risolto nulla.
Questo ha senso. C'è un modo per me di vedere quale riferimento viene fatto nel progetto - quale file si troverà di solito in questo quando si guarda al progetto compilato? – Elie
Non si dovrebbe guardare il progetto compilato, ma quello non compilato, il file csproj. altrimenti, penso che dipenda.exe (nel post di Mark) sarebbe d'aiuto. – Femaref
Questo può essere verificato anche nei pacchetti di nuget. Se uno dei tuoi progetti fa riferimento a log4net versione 1.2.3.4 e gli altri progetti cercano log4net versione 5.6.7.8, quindi si otterrà questo errore. (o qualsiasi altro pacchetto di nuget). Abbina quelle versioni e sei a posto. – Krishna