【发布时间】: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