Dobivam napako
System.IO.FileLoadException : Ni bilo mogoče naložiti datoteke ali sklopa 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ali eno od njegovih odvisnosti. Na spletni strani nahaja se definicija manifestnega sklopa se ne ujema z definicijo sklopa referenco. (Izjema iz HRESULT: 0x80131040)
za mojo sestavo CI
Rešitev, ki sem jo poskusil
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"
culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
Prav tako ni delovalo
Pravilno različico namestite v stroj CI
To vam sporoča, da je program za nalaganje sklopov našel drugačno različico sklopa Newtonsoft.Json
, ki se ne ujema z referenco, ki ste jo ustvarili v projektu. Za pravilno nalaganje sklopa morate sklop namestiti poleg svoje sestavljene kode ali pa v ciljni stroj (tj. v GAC) namestiti pravilno različico sklopa.
Alternativa: poskrbite, da je konfiguracija v pravi datoteki
Če želite ohraniti trenutno rešitev in naložiti sklop z drugačno različico, poskrbite, da je objavljena konfiguracija v pravilni datoteki .config
. Ne pozabite, da ni datoteke xpto.dll.config
, DLL, ki jo naloži aplikacija, vedno uporablja datoteko s konfiguracijo zagnane aplikacije.
V mojem primeru sem po prenosu sklopa in dodajanju reference v projekt to rešil tako, da sem pred dodajanjem reference v projekt odblokiral DLL.
Z raziskovalcem Windows poiščite lokacijo DLL, desno kliknite DLL in izberite 'lastnosti'. Na enem od zavihkov boste našli gumb 'unblock' in nato lahko dodate referenco in sestav se bo pravilno naložil.