※記事を書いている時点では,.NET Framework 4.0はリリース候補版です.また,開発環境はVisual Studio 2010のリリース候補版です.
Mixed mode assembly is built against version 'v1.x(or v2.x)' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
エラーを解決するには,アプリケーションの設定ファイル(app.config
)を以下のように書き換えます.
<configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration>
混合モードアセンブリ(managedとunmanagedのコードを両方含んだアセンブリ)は何かと使うので,少なくともしばらくはこの設定は外せそうになさそうです.それは兎も角として,CLR 3.0はどこへ!?
参考:<startup> Element,F# Scripting, .NET 4.0 and Mixed-mode assemblies
仕事ではまっていたところ、こちらにたどり着き解決することができました。ありがとうございます!
返信削除> ぴくりとさん
返信削除コメントありがとうございます.お役に立ててよかったです^^ゝ
参考になりました。ありがとうございます。
返信削除ただ、開発時のデバッグする時はこれでうまくいくのですが
exeファイルを配布して他のパソコンで
ソフトを起動すると
混合モード アセンブリはバージョン ‘v1.1.4322′ のランタイムに対して作成されており、追加の構成情報がないと 4.0 ランタイムでは読み込めません。
とエラーが出てしまいます・・・
どうしてかご存知でしたら誠に勝手なお願いではございますが
ご連絡くださいましたら幸いです。
こんにちは
返信削除プロジェクトをビルドすると,exeファイル(*.exe)と同じディレクトリに,configファイル(*.exe.config)が作成されていると思います.
他のパソコンに配布する際に,exeファイルとconfigファイルをセットで配布すれば,うまく動くのではないでしょうか?
一緒にしたらうまくいきました。
返信削除助かります。
VC#2010+DX&DXInputで同症状に陥り、こちらを拝見して解決に至りました。
返信削除匿名で失礼しますが、とても感謝しています。ありがとうございました。
助かりました!ありがとうございます!
返信削除こちらの記事で助かりました。
返信削除本当にありがとうございました!
匿名で失礼します。