問題タブ [fileloadexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - System.IO.FileLoadException
Enterprise Library 3.1 2007 年 5 月バージョンを使用しているときに、このエラーが発生しました。製品を開発しており、Subversion Trunk ディレクトリの下に共通の lib ディレクトリがあります。
<>\Trunk\Lib\ にすべてのサードパーティ DLL を配置します。この中には、\Program Files\Microsoft Enterprise Library May2007\bin からすべての dll をコピーした Microsoft\EnterpriseLibrary\v3.1 があります。開発者の 1 人がこのマシンにソース コードをインストールするまで、すべてが正常に機能していました。ソース コードのインストールの最後にいくつかの dll がコピーされましたが、それが完了すると、プロジェクトを実行できなくなりました。彼はいつもこのエラーを受け取ります
'Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null' またはその依存関係の 1 つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)」
ここで何が問題なのですか?ソースコードがインストールされたら、すべてをビルドして、ソースコードの親ディレクトリ内の bin ディレクトリにコピーするだけだと思っていました。また、Microsoft Enterprise Library May 2007\bin ディレクトリから Dll を製品開発ディレクトリにコピーし、copylocal フラグを true に設定して参照をプロジェクトにコピーしました。
誰でもここで私を助けてくれますか
RK
c# - アセンブリ負荷の問題のデバッグ
単体テスト(VisualStudioのMSTest-.NET3.5 SP1)中に非常に奇妙な問題が発生しました:
- [ソリューションですべてのテストを実行する]をクリックします
- 1つの特定のクラスを除いて、すべてのテストに合格します。ただし、すべてのテストで次の例外がスローされます。「System.IO.FileLoadException:このアセンブリをロードすると、他のインスタンスとは異なる許可セットが生成されます。(HRESULTからの例外:0x80131401)」
- 次に、クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格します(以前に失敗したのと同じテスト)。
- 「ソリューションですべてのテストを実行」をクリックします。別のクラスを除いて、すべてのテストに合格します。
- クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格
- 「ソリューションですべてのテストを実行」をクリックします。最初のテストクラスを除いて、すべてのテストに合格します。
- 等
ご覧のとおり、問題は非常に一貫性がなく、デバッグが困難です。
Fusion Log Viewerを使用してみましたが、わかりにくい結果になりました。
何を探すべきですか?他の誰かがこの問題を経験しましたか?
更新: いくつかの追加情報が要求されました。
テストは何ヶ月も問題なく実行されました。前回実行したのは木曜日だったと思いますが、その後は問題なく実行されました。私はソース管理の履歴を調べて、何かが変更されたかどうかを確認しようとしていますが、異常なことは何もありません。
過去のさまざまな日にプロジェクトを追跡してチェックアウトすることはできましたが、Visual Source Safeを使用しています(私は知っています-私の決定ではありません:-()ので、それを行うのをためらっています。
テストは通常の単体テストであり、モックオブジェクトにMoqを使用しています...しかし、私が言ったように、最近まで正常に機能していました。
この問題をデバッグする方法についてのアドバイスを期待していました。
asp.net - 一定時間後にアセンブリ FileLoadException (アクセスが拒否されました)
しばらく (数日間) 正常に動作する Web アプリケーションがあり、その後、外部 dll を参照するクラスをインスタンス化するときに FileLoadException をスローし始めます。
- Assembly静的メソッドを使用してアセンブリを明示的にロードしていません。参照されたライブラリからクラスをインスタンス化するクラスをインスタンス化しているだけです。
- Process Monitor を実行して、アプリケーション パスを監視しました。エラーが発生したソースコードファイルに対して「PATH NOT FOUND」という結果しか得られません(デバッグモードでコンパイルされているため、これはスタックトレースをダンプするときにエラーが発生した行を表示しようとする.NETの一部にすぎないと思います)
- これは、社内の専用サーバーで実行されています。アプリケーションは、同じ参照 dll を使用して構築された別の Web サイトと共に、.NET 3.5 アプリケーション プールで実行されています。他の Web サイトにはより多くのトラフィックがありますが、このエラーは発生しません。
- アプリケーションは 3 つの Web サーバー間で負荷分散されており、3 つすべてである時点でこの問題が発生します。
Web サーバーの 1 つで、アセンブリ バインディングのログ記録をオンにしました。スタック トレースは次のようになります。
私はファイル ロードの例外のデバッグにあまり詳しくないので、どんな助けでも大歓迎です (デバッグのために他に何ができるかなど)。
ありがとう。
asp.net - 運用 ASP.NET Web サイトの bin フォルダーで DLL を更新する
実稼働 Web アプリケーションでクラス ライブラリ (単一の DLL ファイル) を更新したいと考えています。この Web アプリはコンパイル済み (公開済み) です。私は StackOverflow に関する回答を読みました (申し訳ありませんが、検索機能がうまく機能しないため、もう見つけられないようです)。新しい DLL を bin フォルダーに貼り付けるだけで、それが選択されると信じるようになりました。問題なく起動します (これにより WP がリサイクルされますが、InProc セッション状態を使用していないので問題ありません)。
ただし、これを試してみると、サイトが爆発し、アセンブリ マニフェストの定義がアセンブリ参照と一致しないという FileLoadException が発生します。これはいったい何だ!? Visual Studio で DLL を更新し、サイト全体を再デプロイすることは問題なく機能しますが、後から考えると非常に面倒です。変更を実装するためにサイト全体を再展開する必要がある場合、別の DLL を用意する意味は何ですか?
問題は次のとおりです。アプリを壊したり、すべてのファイルを再デプロイしたりせずに、運用 Web サイトで DLL を更新するにはどうすればよいでしょうか?
c# - SharpSVN と C# の問題
SharpSVN を C# プロジェクトに追加しようとすると、SharpSVN 関連の呼び出しでコンパイルすると、次のエラーが発生します。
FileLoadException は未処理でした 混合モード アセンブリは、ランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がないと 4.0 ランタイムに読み込むことができません。
私がしたことは、ダウンロードした SharpSVN zip ファイルから参照を追加し、
コンパイルすると正常に動作しますが、追加すると:
そのエラーで壊れます。このエラーを検索しましたが、解決策を見つけることができませんでした。
c# - ASP.Net Web サイトで約 1 週間に 1 回 System.IO.FileLoadException: Could not load file or assembly が発生するのはなぜですか?
私は、Microsoft.Practices.EnterpriseLibrary.Data dll を週に 1 回ロードする際に問題があるかなり単純な内部 ASP.Net Web サイトを持っています。例外メッセージは次のとおりです。
注意事項:
- 簡単な IIS リセットで問題が解決します。
- 単一の Web サーバーで同じコードを問題なく実行できました。次に、負荷分散された (スティッキー セッションを使用する) 2 つの新しい Web サーバー (3 つすべての Windows Server 2003 R2 Standard Edition SP1) にサイトを移動しました。現在、負荷分散された各 Web サーバーは、この例外を 1 週間に 1 回、突然スローします。
- 私が思いつく唯一の大きな違いは、負荷分散されたサーバーに 4.0 .NET フレームワークをインストールしたことです。Web サイトはまだ ASP.NET 2.0 で実行されているため、これがどのように問題になるかわかりません。
- 「Temporary ASP.NET Files」フォルダーを検索しないようにインデックス サービスを構成しましたが、役に立ちませんでした。
- サイトのいたるところで Microsoft.Practices.EnterpriseLibrary.Data dll を使用しています。ほぼすべてのページで、EnterpriseLibrary dll を利用するロジック dll が使用されています。
- 一度エラーが発生している間、「Temporary ASP.NET Files」フォルダー内の dll をロックしているプロセスを確認しましたが、正常に機能していたサーバーのロックと何ら変わりはありませんでした。
- エラーが発生すると、iisreset が実行されるまで毎回エラーが発生します
誰でも提供できる洞察は大歓迎です。何か見逃した場合はお知らせください。
ありがとう!
c# - .NET 4 での FileLoadException
OpenNURBS ツールキット(こちらを参照)を使用してアプリケーションをビルドしようとしていますが、デバッグ中に次のメッセージで FileLoadException が発生します。
混合モード アセンブリは、ランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がないと 4.0 ランタイムに読み込むことができません。
OpenNURBS ツールキットは、この時点でプロジェクト内の唯一の非システム アセンブリであるため、問題はそのファイルにあることがわかっています。これらの想定される構成オプションはどこにあり、何ですか? どんな助けでも大歓迎です。
.net - 私が処理していると思われる Unhandled FileLoadException
次のように初期化するスレッドがあります。
そして残りのスレッドの実行。奇妙なことに、すべてが try/catch でラップされているにもかかわらず、ログ ファイルに 1 しか表示されず (2 はありません)、未処理の System.IO.FileLoadException が発生しています。デリゲートの本体全体を try/catch でラップしようとしましたが、まだその例外が発生しており、イベント ビューアーは、例外の最上位のメソッドがそのメソッドであると言っています。とても奇妙です。
これを追跡する方法、または少なくとも例外を適切にキャッチする方法についてのアイデアはありますか?
assemblies - XP の vc2005 混合モード DLL で FileLoadException を引き起こす CRT 依存関係を修正するにはどうすればよいですか?
Visual Studio 2005 でビルドされた混合モードの DLL があります。Dependency Walker で、私の DLL は次の CRT DLL の依存関係を示しています。これは私の Windows 7 開発マシン上にあることに注意してください。
c:\windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\MSVCP80.DLL
"\MSVCR80.DLL
"\MSVCM80.DLL
8.0.50727.4927
Visual Studio 2005 を使用している私の Windows 7 開発マシンでは、これは正常にコンパイルおよび実行されます。問題は、最新の CRT がインストールされている Windows XP テスト マシンで実行できないことです。
DLL を XP マシンの depenency walker にドラッグすると、\System32 で DLL を検索しているようです... (フル パスを表示しようとしたところ、それらのパスはなく、黄色の感嘆符だけでした)
問題は、WinSxS の crt のこのバージョン (ビルド 4927) が XP テスト マシンにインストールされていないことです。最新の CRT がインストールされた Visual Studio 2005 (sp1?) があります。
8.0.50727.4053は、MSDN で見つけた最新バージョンです。
これは SO に投稿された最もエキサイティングな質問ではないことを認識していますが、この 4927 ランタイムがどうなっているのか知っている人はいますか?
* 編集 *
MT.exe によって生成されたマニフェスト:
したがって、ターゲットとしている 3 つの異なるバージョンがあります...