Я думаю, что вы используете две технологии, которые не очень хорошо сочетаются друг с другом:
Естественное применение pimpl - избегать необходимости постоянно вносить изменения в заголовочный файл, что приводит к большим перекомпиляциям в больших проектах C ++.
Естественным приложением для C ++ / cli является написание небольших узких кусочков взаимодействия, и поведение VS по умолчанию в этих проектах - помещать весь код в заголовки, что является как можно более низким уровнем защиты от pimpl. 1005 *
Если вы пишете что-то достаточно большое, чтобы оправдать pimpl, я бы не рекомендовал C ++ / cli. Если вы пишете что-то достаточно маленькое, чтобы сделать C ++ / cli подходящим, я бы не стал беспокоиться о pimpl.
YMMV конечно, но это было бы мое мнение ...