【问题标题】:Error Running RegAsm on C# DLL在 C# DLL 上运行 RegAsm 时出错
【发布时间】:2018-04-30 23:39:38
【问题描述】:

我编写了一个 C# DLL,它使用实体框架执行一些数据收集和操作。该 DLL 与 COM 兼容,旨在由旧版 VB6 应用程序调用。它使用 Visual Studio 2010 使用 .NET 3.5

DLL 在开发环境和暂存环境(Windows 2003 Server)中都能完美运行。然而,当它被部署到 Live 环境(也是 Windows Server 2003)时,DLL 在 RegAsm'd 时抛出了一个错误。错误是

RA0000 Binary format of the specified custom attribute was invalid

DLL 编译良好,Live 环境还安装了我们编写的其他 .NET 3.5 组件(尽管没有使用实体框架)。 Live 和 Staging 上的部署文件相同。

我正在努力寻找任何原因。我希望这里的其他人有任何建议或想法?

提前致谢

【问题讨论】:

  • 您能否在Linqpad 中使用生产环境中的 dll 以及您怀疑导致问题的代码块运行它?
  • 您确定您在 Live 服务器上运行的是正确(32 位或 64 位)版本的 RegAsm?
  • @lloyd 我不完全确定哪个代码块导致错误,因为错误是在安装过程中注册 DLL 时出现的,不过我会看看 Linqpad。
  • @spodger 因为我们在 Windows Server 2003 上运行,所以所有服务器上只有 32 位版本。我们从 'C:\Windows\Microsoft.Net\Framework' 文件夹中显式调用 regAsm

标签: c# .net dll vb6 regasm


【解决方案1】:

问题似乎是 .NET 3.5 SP1 没有安装在 Live 服务器上,而是安装在 Dev 和 Staging 中。

匹配环境就这么多。安装 SP1 后,DLL 注册并按预期工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多