Убил полдня драгоценного времени на поиски и без результатов
Есть проблема: создаем к примеру консольный проект в студии (на с++) с помощью визарда. Все настройки оставляем по умолчанию. Добавляем класс, например
А, опять же визардом. Далее создаем проект Test -> UnitTest. Так добавляем тесты для методов класса
А. Так вот, если метод реализован inline прямо в хидере — все нормально, но если реализацию перенести в .cpp файл, сразу возникает ошибка линковки при билде проекта с тестами:
Linking...
UnitTest1.obj : error LNK2028: unresolved token (0A00000D) "public: __thiscall CBase::~CBase(void)" (??1CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2028: unresolved token (0A00000E) "public: __thiscall CBase::CBase(void)" (??0CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2019: unresolved external symbol "public: __thiscall CBase::~CBase(void)" (??1CBase@my1@@$$FQAE@XZ) referenced in function "public: void __clrcall test::UnitTest1::TestMethod1(void)" (?TestMethod1@UnitTest1@test@@$$FQ$AAMXXZ)
UnitTest1.obj : error LNK2019: unresolved external symbol
в общем не видит реализации он. Настройки опций компиляции (/clr) и референсов не помогают. Не получается не для .exe проектов, не для .dll

В чем секрет? почему последовательность прямых (очевидных) действий не дает результатов?
Может кто-то сталкивался с проблемой или у кого-то есть простенький работающий пример на эту тему? В аналах микрософт есть только примеры для шарпа и то не полные