【问题标题】:error RA0000 : Failed to load '~\MyDocumentFetch.dll' because it is not a valid .NET assembly错误 RA0000:无法加载“~\MyDocumentFetch.dll”,因为它不是有效的 .NET 程序集
【发布时间】:2015-08-10 21:59:53
【问题描述】:

我在使用 Nant 脚本中的 exec 任务中的 Regasm 注册 DLL 时遇到问题。它给出了以下错误:

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 任务,但这并没有在 typelib 属性中提到的路径中生成 tlb,而只是在注册 DLL。

有人可以帮我解决这个错误吗?

【问题讨论】:

    标签: nant regasm


    【解决方案1】:

    终于成功了,但我不知道如何。将上面的脚本替换为以下脚本:

    执行程序="C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe" commandline="/nologo /tlb ${path::combine(Paths.StagingFolder, 'MyDocumentFetch.dll')}"/>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2016-04-18
      • 2019-09-06
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多