[解決済み】'useLegacyV2RuntimeActivationPolicy'は、.NET 4 configで何をするのでしょうか?
質問
SlimDXを使用し、アンマネージドコードを持つプロジェクトを.NET 4.0に変換する際に、以下のエラーが発生しました。
混合モードアセンブリはランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報なしに 4.0 ランタイムでロードすることはできません。
ググってみると、アプリケーションの設定にこれを追加することで解決しました。
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
質問なのですが
useLegacyV2RuntimeActivationPolicy
は何をしているのでしょうか?それに関するドキュメントが見当たりません。
どのように解決するのですか?
少し時間が経ってから(さらに検索して)、私は見つけました。 このブログのエントリー by Jomo Fisher.
最近見受けられた問題の1つは、サイドバイサイドのランタイムをサポートしたために、.NET 4.0が古いミックスモードアセンブリとのバインド方法を変更したことです。このアセンブリとは、例えばC++CLIからコンパイルされたアセンブリのことです。現在利用可能なDirectXアセンブリはミックスモードです。このようなメッセージが表示された場合、この問題に遭遇していることがわかります。
ミックスモードアセンブリは、ランタイムのバージョン 'v1.1.4322' に対してビルドされており、追加の設定情報なしに 4.0 ランタイムでロードすることはできません。
[Snip]
アプリケーションにとって良いニュースは、app.configフラグを以下のように設定することで、これらのアセンブリの.NET 2.0時代のバインディングにフォールバックするオプションがあることです。
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup>
つまり、ランタイムが混合モードアセンブリをロードする方法が変更されたようです。この変更についての詳細や、なぜこのような変更が行われたのかについては、見つけることができません。しかし
useLegacyV2RuntimeActivationPolicy
属性は、CLR 2.0の読み込みに戻ります。
関連
-
[解決済み】XAMLにSystem.Stringを埋め込む
-
[解決済み] LINQ: フィルタリング基準で SingleOrDefault と FirstOrDefault() を使用する場合
-
[解決済み] 1は有効なWin32アプリケーションではありません "を解決するには?
-
[解決済み] DelphiとDelphi.NETの違いについて
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NET 4.0 プロジェクトで .NET 2.0 混合モード アセンブリを参照するために必要な「追加設定」は何ですか?
-
[解決済み] Microsoft.ACE.OLEDB.12.0' プロバイダがローカルマシンに登録されていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] msiexec を使用せずにコマンドラインから MSI ファイルをアンインストールする
-
[解決済み] Marginのプロパティ順
-
[解決済み] SQL Server Compact EditionデータベースのLINQ to SQLで、"Row not found or changed "例外を解決するにはどうすればよいですか?
-
[解決済み] Microsoft.NETFrameworkとMicrosoft.NETFramework64の違いは何ですか?
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] terminationGracePeriodSeconds not
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?
-
[解決済み] .NET 4.0 プロジェクトで .NET 2.0 混合モード アセンブリを参照するために必要な「追加設定」は何ですか?