Ошибка 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')}"/>

Другие вопросы по тегам