Guardant Station. System.InvalidCastException

Добрый день.
После обновления Visual Studio 2019 до последней версии перестало запускаться приложение.
Консольная демка (без изменений, файл от 10.04.20) из SLK, что C++, что .net дает точно такую же ошибку.

Example of using Grdlic API
Call GrdGetApiVersion
System.InvalidCastException: Заданное приведение является недопустимым.
   в grdlic.GrdlicApi.GrdGetApiVersion(UInt32& major, UInt32& minor)
   в grdlic.test.Program.Main(String[] args)

Сталкивались с таким? Куда стукнуть? Встроенный отладчик подробностей тоже не дает, кроме что int minor = 0, int major = 0.

Re: Guardant Station. System.InvalidCastException

Здравствуйте.

Уточните, пожалуйста, какой тип проекта был выбран для C++ (Visual studio project)?
Выбирается при создании проекта.

Re: Guardant Station. System.InvalidCastException

Разные варианты.
C# Windows Forms Net Framework 4.7.2
C# Net.Core
C++ Windows Forms
C++ CLI
И компиляция прям батником из примера.
Везде результат одинаков. Валится на GrdGetApiVersion

Re: Guardant Station. System.InvalidCastException

Т.е. приложение на вызове GrdGetApiVersion просто "падает" или возвращает ошибку?

Re: Guardant Station. System.InvalidCastException

Ошибку. Приведена в первом сообщении. Ощущение, что проблема с загрузкой dll. Т.е. она грузится, но почему-то ничего не возвращает.

Re: Guardant Station. System.InvalidCastException

Проверили у себя примеры из SLK с Visual Studio 2019 - все работает.
Выложите, пожалуйста, куда-нибудь для скачивания свой пример.
Какой версии Guardant SLK установлен?

Re: Guardant Station. System.InvalidCastException

Я пока пытаюсь собрать пример из SLK.
Не исключаю, что проблема может быть в несоответствии версий компилятора, иных компонентов.
Повторюсь, все началось после обновления VS до 16.5.4 До этого все работало и примеры и мое приложение.
SLK видимо последняя. Устанавливалась неделю назад.

Re: Guardant Station. System.InvalidCastException

hexprof пишет:

Повторюсь, все началось после обновления VS до 16.5.4

Проверяли на такой же версии - работает.
Ждем ваш пример.

Re: Guardant Station. System.InvalidCastException

Докладываю.

В результате серии экспериментов, опытов над животными, разочарований в жизни, демократии, веры в Ктулху и уверенности, что KDE все таки необходимо пропатчить под FreeBSD :) выявлено следующее:

При использовании NET.Framework, что под C#, что под C++ версии >= 4.6 проявляется такой эффект. Функции абсолютно ничего не возвращают. Сборка проходит, но при запуске вываливается.

Но! При использовании NET.Framework 3.5 все собирается и работает идеально. На этом я собственно и остановился. Феномен не изучал. Оставлю до конца проекта.

Re: Guardant Station. System.InvalidCastException

Нашел в чем проблема.
Свойство проекта -> Сборка -> Общие -> Предпочтительна 32-разрядная версия

При установке этого параметра мир рушится.

Re: Guardant Station. System.InvalidCastException

А вообще SLK работает в x86 проектах? Или только AnyCPU(x64)?

Re: Guardant Station. System.InvalidCastException

В х86 работает, надо только чтобы рядом с "grdlic.dotnet.dll" лежала х86 "grdlic.dll" из папки "%ProgramFiles(x86)%\Guardant\Software Licensing Kit\api\lib\windows\x86\".

Можно при помощи метода SetPathToNativeLib() в приложении указать собственную директорию, где искать "grdlic.dll".

Re: Guardant Station. System.InvalidCastException

Спасибо. Взлетело.
Вы бы в документации осветили бы этот вопрос. Я про сборку для разных платформ.
В примерах в pre-build копируется библиотека из x86_x64. А то, то нужно из просто x86 это теперь понятно. Ранее это было совсем не очевидно.