У меня возникла странная проблема с dll C# .NET 4.0 (работает с приставкой/тестовым приложением), работающим с базой данных Firebird. Установка кажется правильным, но когда Firebird (2.5.2 я думаю) клиент/DLL/поставщик должен бросить исключение, я всегда получаю следующее:Получение TypeLoadException вместо специальных исключений Firebird DB
Failure: System.TypeLoadException: Не удалось загрузить тип 'System.Runtime.CompilerServices.ExtensionAttribute' из сборки 'mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.
Так, например, если я изменю строку подключения, чтобы не указывать на мой файл DB, это даст это исключение вместо того, что более актуально. Это происходит независимо от того, отлаживаю ли я его из Visual Studio 2010 или запускаю ли EXE вручную.
Существует еще один человек, работающий над тем же кодом, у которого нет этой проблемы, поэтому похоже, что это не связано с кодом.
Кто-нибудь видел или слышал о чем-то подобном? Мне становится сложно догадаться, что такое исключение пытается рассказать мне.
UPDATE: Итак, похоже, что все x86, так что это не похоже на несоответствие битов. И я проверил и дважды проверил, что у меня есть правильная версия провайдера (например, NETProvider-3.0.2-Net40). Я все еще получаю исключение TypeLoadException.
Для справки, если это кого-то вдохновляет, я запускаю 32-разрядную версию Windows XP. Другой человек, который получает релевантные/реальные исключения, находится в Windows 7 (возможно, 64 бит).
ли вы сравнили клиент Firebird установить на сотрудников, есть ли различия? Один файл для поиска - «firebird.msg», где хранятся сообщения об ошибках FB (должно быть в том же каталоге, что и клиентская dll), есть ли у вас это? – ain