none
COM C# загружается в C++ только на компьютере где установлена visual studio RRS feed

  • Вопрос

  • Есть необходимость подключать формы на С# к программе на C++ (visual studio 2015). Пробовала 2 найденными способами, но результат один и тот же.
    1) Без регистрации в реестре (Console.7z)
    2) С регистрацией в реестре (Csarp.7z)

    архивы тестовых программ
    Пробовала, как регистрировать с помощью
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe "C:\..\Debug\Csarp.dll" /tlb
    Так и самостоятельным созданием в консоли управления rusell.livejournal.com/143927

    В итоге на компьютерах, где установлена visual studio, оба варианта работают. При переноси на другу машину, получаю одну и ту же ошибку



    Устанавливала https://support.microsoft.com/ru-ru/help/2977003/the-latest-supported-visual-c-downloads x86 и x64 но результат тот же
    Суть тестовых проектов одинаковая: создаю библиотеку COM на C#, подключаю к библиотеки С++ и вывожу в консоль С++, что бы проверить работает ли.

    Буду рада, если подскажите, в чем ошибаюсь.


    11 января 2020 г. 14:21

Ответы

  • Это сообщение говорит о необработанном исключении (С++ или SEH). Добавьте обработку исключений и запись в лог информации о нем (ex.what() для С++, GetExceptionCode() для SEH). См. например https://docs.microsoft.com/en-us/cpp/cpp/try-except-statement?view=vs-2019 Можно поставить windbg на одной из целевых машин и запустить под ним.

    Установка С++ Runtime тут не могла помочь, так как само это сообщение выводится С++ Runtime, т.е. она уже была установлена. Так, навскидку, нужная версия .NET Framework на целевой машине установлена? 

     
    13 января 2020 г. 3:29