Проблема решена.Я зарегистрировал интерфейс в том же проекте, где расположен класс.Со следующим кодом Интерфейс:
[ComVisible(true)]
[System.Security.SuppressUnmanagedCodeSecurity]
[Guid("170BB172-4FD1-4eb5-B6F6-A834B344260F")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IImageSourceFilter
{
void SetColor();
}
Класс:
[ComVisible(true)]
[Guid("170BB172-4FD1-4eb5-B6F6-A834B344268F")]
[ClassInterface(ClassInterfaceType.None)]
public class ImageSourceFilter : BaseSourceFilter,IImageSourceFilter
{
public void SetColor()
{...}
}
Также стоит отметить, что класс должен наследовать этот интерфейс.Регистрация была завершена событием Post-Build в настройках проекта с параметрами:
"$(TargetDir)install.bat" $(TargetName)
И install.bat содержал следующее:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe %1.dll /nologo /codebase /tlb: %1.tlb