Есть контрол унаследованный от базового класса из сторонней сбоки (изменения не возможны).
На этом контроле расположен WebControl.
В html коде выполняется onclick = "window.external.Test();"
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class DocumentClientInfo : DocumentPane
{
public DocumentClientInfo()
: base()
{
InitializeComponent();
webBrowser1.ObjectForScripting = this;
webBrowser1.DocumentText = "...";
}
public void Test()
{
MessageBox.Show("Ok");
}
}
При срабатывании события onclick получаю следющую ошибку
NonComVisibleBaseClass was detected
Message: Был произведен вызов QueryInterface, запрашивающий используемый по умолчанию интерфейс IDispatch видимого управляемого COM-класса "DocumentClientInfo". Однако, поскольку у этого класса нет явного интерфейса по умолчанию, и он является производным от видимого не-COM класса "DocumentPane", вызов QueryInterface завершится со сбоем. Это сделано для того, чтобы уберечь видимый базовый не-COM класс от ограничений, которые накладываются правилами управления версиями COM.
Как с этим бороться???