Я создал ComVisible .Net (C#) dll, которая содержит служебную ссылку. При попытке доступа к DLL из внешнего COM-клиента (VBScript) исключение генерируется всякий раз, когда я создаю объект.Новое ключевое слово для справки службы dll
Исключенное исключение - InvalidOperationException (0x80131509).
После короткого расследования я заметил, что он не справляется с созданием ссылочного объекта службы («новый»).
- Ссылка службы объекта, используемое имя в приведенном ниже коде
ServiceClient
ServiceClient
является частным для C# DLL- Попытка создать ссылку в конструктор также не
- Удаление «новой» ключевое слово как из класса или конструктор делает код пропуска,
- сервис и работает
библиотека DLL код:
namespace UIIdentifier.Updater
{
[ClassInterface(ClassInterfaceType.AutoDispatch)]
public class Client
{
[ComVisible(false)]
//<<--This throws the exception -->>
private ServiceClient uiSpySrv = new ServiceClient();
[ComVisible(true)]
public string hello()
{
return "hello";
}
}
}
Код клиента:
Dim oUpdater
Set oUpdater = CreateObject("UIIdentifier.Updater.Client")
MsgBox oUpdater.hello
Любые предложения, почему это происходит?
Какое исключение? –
@JaredKells: InvalidOperationException (ID: 0x80131509) –
Возможно, он пытается получить доступ к конфигурационному файлу, чтобы настроить инфраструктуру обмена сообщениями (например, получить соответствующий URL-адрес), а код вызывающего клиента не имеет файла конфигурации? –