jrlewis wrote:It does list the column name as the AssemblyQualifiedName for the column returned by the GetFactoryClasses() method, but if you look at the description it reads "Fully qualified name of the factory class, which contains enough information to instantiate the object." If the provider is in the working directory and it is specified with "FullName,AssemblyName" then that should be enough information to instantiate the object.
Please refer to the example in the table with the mentioned definition: "System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" (there are Version and Culture as well).
http://social.msdn.microsoft.com/Forums ... 302c1db13/:
"if you were trying to load a strongly-named assembly you would have specified the strong name. Since you only provided a weak name, it would be an error to give you the strongly-named assembly because if you wanted the strongly named one you would have asked for it."
CLR looks for strongly-named assemblies in the following way: GAC first, then local (the folder in which your application is located).
jrlewis wrote:Uninstalling the provider and just pointing to the correct version of the dll's in the working directory doesn't work either as it never checks the working directory.
This should work.
1. Place the Devart.* assemblies in the folder in which your application is located.
2. Make sure there are no policy.*.Devart.* files in your GAC.
3. Specify the exact text of the error you are getting.
jrlewis wrote:At this point I have 2 projects that need 2 different versions of the provider on the same machine.
This is possible. Just specify fully qualified name of dotConnect for SQLite in your App.config and remove policy.*.Devart.* files from your GAC (different versions of Devart assemblies can be located either in GAC, or in bin folders).