我在使用 Firebird 数据库的 C# .NET 4.0 dll(使用存根/测试应用程序运行)时遇到了一个奇怪的问题。设置似乎是正确的,但是当 Firebird(我认为是 2.5.2)client/dll/provider 需要抛出异常时,我总是得到以下信息:
失败:System.TypeLoadException:无法从程序集“mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”加载类型“System.Runtime.CompilerServices.ExtensionAttribute”。
因此,例如,如果我将连接字符串更改为不指向我的数据库文件,它将给出这个异常而不是更相关的东西。无论我是从 Visual Studio 2010 调试它还是手动运行 EXE,都会发生这种情况。
有另一个人在处理相同的代码,他没有这个问题,所以它似乎与代码无关。
有没有人见过或听说过这样的事情?不得不猜测异常试图告诉我什么变得令人沮丧。
更新: 所以看起来好像一切都是 x86,所以它看起来不像是位不匹配。而且我已经检查并再次检查了我是否拥有正确版本的提供程序(例如 NETProvider-3.0.2-Net40)。我仍然收到 TypeLoadException。
作为参考,以防它启发任何人,我正在运行 Windows XP 32 位。获得相关/实际异常的另一个人在 Windows 7(可能是 64 位)上。