Copy below from Ch 4 of the Developer Guide. Did you add a probe assembly in IBConfig so DevForce knows where to look for your IDataSourceKeyResolver class? Easiest if this is a top-level probe assembly so it will be found regardless of the data source you need to access at a given moment.
Fortunately, it is easy to write a custom DataSourceKeyResolver that does exactly what you want it to do.
ð Pick a project to hold your key resolver, e.g. AppHelper
ð Add a top-level probe assembly tag to Ideablade.ibconfig so DevForce can find it.
ð Add the following references to that project:
IdeaBlade.Rdb // if creating RdbKeys
IdeaBlade.Persistence.Ws // if creating WsKeys
ð Write a class that implements IDataSourceKeyResolver.
ð Decorate the class with the SerializableAttribute ([Serializable] in C#, <Serializable()>_ in VB).
ð Implement your version of GetKey(KeyName, KeyExtension) to handle the keys you want to manage.
ð Return null (Nothing in VB) if you want the DefaultDataSourceKeyResolver to determine the key.