Согласно комментарию в статье MDSN о TLBIMP для 2.0 , вы не можете решить эту проблему без запуска TLBIMP самостоятельно.
Было легко воспроизвести вашу проблему, используя VS. Я также воспроизвел его, запустив TLBIMP вручную из подсказки комментария VS:
tlbimp c:\WINNT\system32\activeds.tlb /out:interop.activeds.dll
Исправлено использование ключа / silent
tlbimp c:\WINNT\system32\activeds.tlb /silent /out:interop.activeds.dll
Как указано в комментарии к статье MSDN, ссылка COM становится ссылкой сборки .net на сборку взаимодействия, которую вы создали сами.
Я не эксперт VS, но я сделал эту работу, добавив предварительную сборку в проект:
"$(DevEnvDir)\..\..\SDK\v2.0\bin\tlbimp" c:\WINNT\system32\activeds.tlb
/namespace:ActiveDs /silent /out:"$(ProjectDir)interop.activeds.dll"
Построил его один раз, чтобы у меня была dll для добавления ссылки на вкладку просмотра. Добавил ссылку на interop.activeds.dll в корне моего проекта, а затем собрал снова. Возможно, вы захотите сделать это другим способом, например, с помощью внешнего файла make через проект C ++. Это больше POC.
Обратите внимание на забавную разницу в MSBUILD по сравнению с VS, $ (DevEnvDir) имеет обратную косую черту, но MSBUILD нет.