Article relates to
Telerik OpenAccess ORM
September 14, 2012
Last modified by
Telerik OpenAccess ORM consists of a set of assemblies. These runtime assemblies (required to run a Telerik OpenAccess ORM based application) reside in the \bin folder of your Telerik OpenAccess ORM installation. When you deploy your application on client computers/servers you need to confirm that the OpenAccess ORM runtime assemblies are copied. You are not required to install the Telerik OpenAccess ORM runtime assemblies in the global assembly cache. You can deploy the runtime assemblies in the directory structure of any application that uses the Telerik OpenAccess ORM. This simplifies deployment because you can just copy entire application, including the runtime assemblies, on the target computer. While most of the OpenAccess ORM assemblies are referred directly as DLL files, the Telerik.OpenAccess.dll assembly is deployed on the development machine in the Global Assembly Cache (GAC). For this reason it is not copied locally in the \bin folder of your application.
If you deploy your application to a server where the GAC does not contain the assembly, the application won’t be able to find it and you will receive one of the following exceptions:
- Could not load file or assembly 'Telerik.OpenAccess' or one of its dependencies. The system cannot find the file specified.
- The type 'Telerik.OpenAccess.SPI.dataobjects.PersistenceCapable' is defined in an assembly that is not referenced. You must add a reference to assembly 'Telerik.OpenAccess'.
The most direct solution is to install OpenAccess ORM on the target server, but we wouldn't recommend this approach. The best solution is to start deploying the assembly on the server. You can do this by either copy/paste the assembly manually or set the Copy Local property of the assembly in Visual Studio to true.
Another possible reason for the reference problem is that some of the projects that are referring to the OpenAccess assemblies are bound to a wrong version of them. On the development environment, you can check the version of OpenAccess ORM that is installed if you go to the Telerik menu in Visual Studio -> OpenAccess -> ProductInfo.