Why do I get an "System.IO.FileLoadException: Could not load file or assembly" error?

In my .NET project I get an "System.IO.FileLoadException: Could not load file or assembly" error. What could be causing this?

28th October 2019
ian.morris

In my .NET project I get an "System.IO.FileLoadException: Could not load file or assembly" error. What could be causing this?

This is probably because you have an strong-named assembly which has not been redirected. iText 7 has add-ons which can be released separately from releases of the core library, and so may contain references to a different version of the library than the one you are using.

Fortunately, a feature was introduced in .NET Framework 4.5.1 called Automatic Binding Redirect Generation which can automatically resolve this issue. As of .NET 4.5.1 binding redirection should work out of the box, and Visual Studio will usually add the required lines to your project file even for earlier versions. However, depending on your project or your Visual Studio settings this feature may be turned off, so you may need to add them manually.

If you're using strong-named assemblies, check if the following lines exist in your project file (.csproj). If they do not exist, try adding them to resolve the FileLoadException error:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> 
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

By setting these two flags, your project should now load the correct iText library version.

We hope this information has been helpful.



Kontakt

Haben Sie noch weitere Fragen? 

Gerne beantworten wir Ihre Fragen. Kontaktieren Sie uns und wir werden uns in Kürze mit Ihnen in Verbindung setzen.

Bitte kontaktieren Sie uns
Auf dem Laufenden bleiben

Melden Sie sich mit mehr als 11.000 Abonnenten an und werden Sie ein iText PDF-Experte, indem Sie sich über unsere neuen Produkte, Updates, Tipps, technischen Lösungen und Veranstaltungen informieren.

Abonniere jetzt