Когда я столкнулся с подобной проблемой, я создал пакет NuGet со следующей структурой.
MYCOMLib.dll - это библиотека взаимодействия, сгенерированная из mycom.dll с импортером библиотек типов (tlbimp.exe).
Это просто делается с помощью команды:
Tlbimp mycom.dll
install.ps1 содержит следующий код:
param($installPath, $toolsPath, $package, $project)
regsvr32 Join-Path $toolsPath '\mycom.dll' /s
$project.Object.References | Where-Object { $_.Name -eq "MYCOMLib" } | ForEach-Object { $_.EmbedInteropTypes = $false }
Этот скрипт выполняет то, что он регистрирует COM-DLL и устанавливает свойство EmbedInteropTypes для ссылки на false, что необходимо при использовании .NET 4. См. Тип взаимодействия не может быть встроен для получения дополнительной информации.