GAC内のアセンブリではなく、ローカルアセンブリ(GACではなく)を参照する方法(Visual Studioの設定)で.NETアプリケーションを構成できますが、どちらのアセンブリも同じ名前と同じバージョン?.NETアプリケーションがGACからアセンブリをロード/参照するのを防ぐ方法を教えてください。
答えて
両方のアセンブリの名前が強い(署名済み)場合、CLRは常にGACからロードされます。
は、 出版社 アプリケーション構成ファイルを含め、該当する コンフィギュレーション・ファイルを調べて、正しいアセンブリバージョンを決定します。ここでは
は、ランタイムが(How the Runtime Locates Assembliesから)アセンブリ参照を解決するために使用する手順は次のとおりですポリシーファイル、およびマシン 構成ファイル。 設定ファイルが リモートマシンにある場合は、実行時に アプリケーションファイルを見つけてダウンロードしてから、 設定ファイルを最初にダウンロードする必要があります。アセンブリ名が以前にバインドされているかどうかをチェックし、その場合は が以前にロードされたアセンブリを使用するかどうかを確認します。 アセンブリをロードする前の要求が失敗した場合は、アセンブリを にロードせずにすぐに要求が失敗します。
グローバルアセンブリキャッシュをチェックします。そこにアセンブリがある場合、 ランタイムはこのアセンブリを使用します。
アセンブリのためのプローブ(...省略いくつかの材料...)
その同じ記事の後半で述べたように:
アセンブリのチェックバージョンはありませんランタイムは実行されません。 グローバルアセンブリキャッシュに、厳密な名前のないアセンブリがないかチェックインしないでください。
ローカルアセンブリから署名を削除する余裕がある場合、アプリケーションはGACの署名ではなく署名を削除します。
実行時バインドのメカニズムについて詳しくは、Suzanne Cook's blogを参照してください。
This blog entry from Scott Hanselmanもまた、結合プロセスの大きな概要を提供する。
この回答がありましたか?
Forcing the ASP.NET Application to load the assembly from bin not from GAC
同じことをしようとしているようです。
.NET Frameworkアプリケーションを正常に展開するには、共通言語ランタイムがアプリケーションを構成するアセンブリにどのように配置され、バインドされるかを理解する必要があります。デフォルトでは、ランタイムは、アプリケーションがビルドされたアセンブリの正確なバージョンとバインドしようとします。この既定の動作は、構成ファイルの設定によって上書きできます。
Windowsソフトウェア開発キット(SDK)に含まれているアセンブリバインディングログビューア(Fuslogvw.exe)を使用して、ログファイルにバインド情報を表示できます。
の
ローカルのDLLのバージョン番号を変更することができれば、あなたはoldVersion属性を使用してDLLのバージョンのリダイレクトを使用することができます。ローカルアセンブリの厳密な名前を使用することができます。 このページを見てください: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx
また、あなたはそれがここで説明されるように、コンパイル済みのアセンブリのバージョン番号を変更することが可能であることを考慮する必要があります。 Change Assembly Version in a compiled .NET assembly
- 1. 配備された.NETプログラムはGACでアセンブリを参照する方法を教えてください。
- 2. ノーマルからフィートトップへのスナップを防ぐ方法を教えてください。
- 3. WCFプロキシがリダイレクトするのを防ぐ方法を教えてください。
- 4. PowerShell v3モジュールで外部.NETアセンブリを確実に参照する方法を教えてください。
- 5. バックスペースがjavascriptで戻るのを防ぐ方法を教えてください。
- 6. コンテンツがフレックスアイテムのサイズ変更を防ぐ方法を教えてください。
- 7. Ackerman関数がスタックのオーバーフローを防ぐ方法を教えてください。
- 8. Maven:* -bin.zipの参照方法を教えてください。
- 9. クッキーを使ってポップアップを防ぐ方法を教えてください。
- 10. クロムエクステンションのリソースのキャッシュを防ぐ方法を教えてください。
- 11. マシンからクッキーを単にコピーするだけで、セッションハイジャックを防ぐ方法を教えてください。
- 12. CruiseControl.NETの同時ビルドを防ぐ方法を教えてください。
- 13. WPF Toolkitカレンダーコントロール - 翌月のスクロールを防ぐ方法を教えてください。
- 14. PHPセッションの開始を防ぐ方法を教えてください。
- 15. ダーツパッケージでギブスの増殖を防ぐ方法を教えてください。
- 16. カスタムホームランチャーアプリの再起動を防ぐ方法を教えてください。
- 17. カスタムナビゲーションバーの伸びを防ぐ方法を教えてください。
- 18. Railsヘルパーでタグのサニタイズを防ぐ方法を教えてください。
- 19. Pythonのサブプロセスで無限ループを防ぐ方法を教えてください。
- 20. オーディオクリップの停止を防ぐ方法を教えてください。 (Javascript&PHP)
- 21. SQL Serverでゼロ除算を防ぐ方法を教えてください。
- 22. Xcodeでこれを防ぐ方法を教えてください。
- 23. レールで「不明な列」エラーを防ぐ方法を教えてください。
- 24. 要素が画面から突き出るのを防ぐ方法を教えてください。
- 25. アプリケーションの外部でDLL関数を使用することを防ぐ方法を教えてください。
- 26. tableView.allowsMultipleSelectionDuringEditing = YESから行を選択すると、青色のハイライトを防ぐ方法を教えてください
- 27. 1つのウィンドウを閉じるとアプリケーション終了を防ぐ方法を教えてください。
- 28. 参照データを保存する方法を教えてください。 C#
- 29. summernoteがすべてのモーダルを開くことを防ぐ方法を教えてください。
- 30. Internet Explorerがドラッグされたファイルを開くのを防ぐ方法を教えてください。
ああ、私はこのトピックのためにStackOverFlowを検索したときにこの答えが見つかりませんでした。しかし、あなたは正しい、最終的に質問はほぼ同じです。 – Flo