Could not load file or assembly or one of its dependencies
To make Visual Studio adding 3rd party assembly or even your own assembly from other project in solution to GAC please do next:
Open Package.package from Package folder in SharePoint project.
Click Advanced in bottom area.
Click Add and chose which type of assembly you want to add.
In dialog select dll file, chec GAC or BIN, add safe controls and class resources entries if required. Click Ok.
Your assembly will be packaged to WSP, defined in manifest and deployed everytime.
Problem Solved!
I thought that Visual Studio was copying the DLL in to the GAC, but apparently not. So I copied it there manually and it works.
One question though, is this normal that visual studio does not copy it to the GAC when I deploy the sharepoint application?
For those who would like to know how to copy the dll to GAC
there are two ways to copy the dll to GAC:
copy the dll manually
- Open c:\windows\assembly directory in windows explorer
- Open another instance of windows explorer and go to the place where your dll is located, usually in the bin folder. (so now you will have two windows open)
- select the dll you would like to copy to gac and drag it inside the assembly directory, c:\windows\assembly
use VS to deploy it for you to GAC.
- in your sharepoint project double click on "Package".
- Package.Package will open. Look bottom left of your screen and click on "Advanced",
- then click on "Add", then select "Add Assembly from project output...".
- In the Source project dropdownlist select the project and then click OK.
- finally deploy the solution and the dll will be in the GAC.
thank you for your support.
For assemblies not in GAC, and which are referred in the build, sometimes this error also happens if the platform target does not match. So match the assembly platform type to the one where it is being used.