Ошибка RA0000: не удалось загрузить "~\MyDocumentFetch.dll", поскольку она не является допустимой сборкой.NET
Я сталкиваюсь с проблемой при регистрации DLL с помощью Regasm из exec задачи в сценарии Nant. Это дает следующую ошибку:
RegAsm: ошибка RA0000: не удалось загрузить 'C:\MyDir\stage\MyDocumentFetch.dll'
потому что это не допустимая сборка.NET
Вот задача из моего файла сборки:
exec program="regasm" workingdir="C:\Windows\Microsoft.NET\Framework\v4.0.30319\"
commandline="/nologo /tlb ${path::combine(Paths.StagingFolder, 'MyDocumentFetch.dll')}"
DLL, которую я использую, основана на.Net 4.0, и это, безусловно, не тот случай, который упоминается в http://www.jagjot.com/2014/01/register-c-vb-net-dll-regasm-gacutil/
Он успешно регистрируется, когда я пытаюсь сделать это с помощью командной строки и создается файл tlb.
Я также попытался использовать задачу regasm, но это не генерирует tlb в пути, указанном в атрибуте typelib, а просто регистрирует DLL.
Может кто-нибудь, пожалуйста, помогите мне в решении этой ошибки?
1 ответ
Наконец это сработало, но я не знаю как. Заменили вышеуказанный скрипт на следующий:
exec program = "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regasm.exe" commandline = "/ nologo / tlb $ {путь:: объединить (Paths.StagingFolder, 'MyDocumentFetch.dll')}"/>