0

openSUSE12.1でmono2.10.6を実行しています。/usr/lib/mono/4.0または/usr/lib/mono/2.0のいずれかにSystem.Data.dllがあるべきではありませんか?

Windowsでコンパイルされた.NETアプリケーションをテストしています。アプリケーションにはオートマッパーへの参照があり、アプリケーションを実行しようとすると次のエラーが発生します。

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'

mono--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)
4

2 に答える 2

0

MicrosoftはMonoチームとキーを共有しないため、MonoのアセンブリにはMicrosoftのようなPublicKeyTokenがありません。そのため、PublicKeyTokenを無視するようにAutoMapperを構成する必要があります。

ただし、公式の発表はどこにもなく、GitHubで未解決の問題があるため、AutoMapperをMonoで動作するように構成できるかどうかはわかりません。

https://github.com/AutoMapper/AutoMapper/issues/217

そして、それについてのメールスレッドもあります。

http://groups.google.com/group/automapper-users/browse_thread/thread/773193330f7d12ef?pli=1

于 2012-06-11T08:37:09.123 に答える
0

「mono-complete」または「monodevelop」をインストールすると、この問題は発生しなくなります。unbuntuでは、コマンドは...

sudo apt-get install mono-complete

またはmonodevelopideの場合(mono-completeもインストールされます)

sudo apt-get install monodevelop

3つのvms(1つはmonoランタイムのみがインストールされ、1つはmonodevelop ideがインストールされ、1つはmono-completeがインストールされています)がすべてまったく同じ実行可能ファイルを実行していましたが、説明した問題が発生したのは、monoのみのvmsだけでした。ランタイムがインストールされました。上記の「mono-complete」コマンドを実行すると、問題が修正されました。

于 2013-01-03T17:15:48.407 に答える