Поскольку Visual Studio является 32-разрядным процессом, он по ошибке запустит 32-разрядную версию regasm.exe , чтобы зарегистрировать 64-разрядную сборку. Конечно, эта версия regasm.exe
будет записывать данные в 32-разрядную часть реестра, так что это не будет работать.
Один из способов решения этой проблемы - запустить 64-битную версию regasm.exe
на целевой сборке самостоятельно (например, на этапе после сборки). Вам нужно будет экспортировать библиотеку типов, используя параметр /tlb
, и вам также нужно будет передать параметр /codebase
, поскольку сборка не находится в GAC:
"%SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe"
/tlb /codebase "$(TargetPath)"