В контексте приложения я разрабатываю функциональность экспорта данных. Эта функция берет данные из приложения и пытается передать их в другое приложение.
Это другое приложение позволяет осуществлять обмен данными через 32-битный com-интерфейс. Теперь мое приложение получает сборки как в 32-битной, так и в 64-битной версии. В случае 32-битных проблем не возникает, однако, когда я собираю его в 64-битной версии ...
Я провел некоторое исследование по этому вопросу и нашел решение .
Я попробовал это, и это, казалось, работало ... до определенного момента ...
connnection = new ClSdk.Venice();
bsCreatedForVenVer = "11.50_";
_bsAppName = "MyApplication";
eLanguage = eLanguage.lngNld;
bWithUserInterface = true;
bsInitials = "XXX";
bsName = "Yzzzzzzzzzzzz";
bsPassword = "Yzzzzzzzzzzzz";
_bsFunction = "Uvvvvvvv Wxxxxxxx";
_bsCabinet = "Abbbb";
bsDossier = "Some Client";
accessMode = connnection.GetAccessMode();
if (accessMode == eAccessMode.amSecure)
{
connnection.LogonSecure(bsCreatedForVenVer, _bsAppName, eLanguage,
bWithUserInterface, bsName, bsPassword);
}
else
{
connnection.Logon(bsCreatedForVenVer, _bsAppName, eLanguage, bWithUserInterface, bsInitials, bsName, _bsFunction);
}
Когда я начинал, я получал исключение во второй раз, когда я пытался создать новый экземпляр ClSdk. Венецианский класс. После выполнения шагов, которые я обнаружил в публикации, создание экземпляра работало безупречно, но при переходе к части соединения (connnection.LogonSecure) было выдано новое исключение: 'errNoInterfaceAsService: интерфейс не разрешен, если выполняетсякак услуга. '
снимок экрана Visual Studio
Я пытался найти дополнительную информацию об этом исключении, но пока мойпоиски не дали ничего полезного.
У кого-нибудь здесь есть идеи, как решить эту проблему?