PluginLoader<TPlugin> : IPluginLoader<TPlugin>:IWebPlugin with implementation Plugin1Plugin1 and tries to create an instance of it. It worked before I made PluginLoader generic, but now typeof(TPlugin).IsAssignableFrom(t) returns false.Plugin1.GetInterface("IWebPlugin") returnsIWebPlugin, typeof(TPlugin gets IWebPlugin too, but the original condition fails nevertheless.