Я бегу mono 2.10.6 на openSUSE 12.1. Не должно быть System.Data.dll в /usr/lib/mono/4.0 или /usr/lib/mono/2.0?Является ли моя моно-версия неисправной?
Я тестирую приложение .NET, скомпилированное на окнах. Приложение имеет ссылку на automapper и я получаю следующее сообщение об ошибке при попытке запуска приложения:
Unhandled Exception: System.TypeInitializationException: An exception
was thrown by the type initializer for AutoMapper.Mappers.DataReaderMapper --->
System.IO.FileNotFoundException: Could not load file or assembly 'System.Data,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its
dependencies.
File name: 'System.Data, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089'
Вот выход моно --version:
linux-19xt:~ # mono --version
Mono JIT compiler version 2.10.6 (tarball Sat Oct 29 18:16:09 UTC 2011)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: debugger softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)
Проблема 'компилируется в Windows'. Структура исполняемого файла различна на разных платформах. Его необходимо скомпилировать на openSUSE. –
@ cole-johnson Спасибо, но не совсем верно. .NET-сборки _interpreted_ CLR для окон и моно, реализация с открытым исходным кодом .net. – robertfriberg
Они содержат один и тот же MSIL, да. Но структура исполняемых файлов Windows PE и исполняемых файлов ELF Linux различна. Кроме того, как отметил Лекс Ли, алгоритм подписи отличается. –