問題タブ [assembly-loading]
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.
assembly-loading - AssemblyResolve イベントを使用してアセンブリを動的にロードするとランダムに失敗する
次の KB 記事の例に従って、AssemblyResolve イベントを実装して、アセンブリをロードする正しいフォルダーを .Net に指定します: http://support.microsoft.com/kb/837908
これが現在の実装です。
多くの場合、並行して実行され、ほとんど同じアセンブリを使用するすべてのバッチ プロシージャでこれを使用します。
定期的にバッチがクラッシュし、次の痕跡が残ります。
[26/04/2013 12:35:01] AssemblyLoader: アセンブリ 'COMPANY.DistributieOrderFacade.dll' が 'C:\COMPANY_Batch\MDS\Executables\MDS\FACADE\COMPANY.DistributieOrderFacade.dll' で見つかりました
[26/04/2013 12:35:01] AssemblyLoader: アセンブリ 'COMPANY.DOCUMENTCENTERDOCS.dll' が 'C:\COMPANY_Batch\MDS\Executables\MDS\CLIENT\COMPANY.DOCUMENTCENTERDOCS.dll' で見つかりました
26/04/2013 12:35:01: COMPANYDocument を作成... キュー:\rug.adroot\dfsroot\mds\Data\queue_new\ 26/04/2013 12:35:01
ファイルまたはアセンブリ 'COMPANY.DistributieOrderBRDA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。一般的な例外 (HRESULT からの例外: 0x80131500)
エラーのアセンブリは、AssemblyLoader が検索するフォルダーの 1 つにあります。手順をもう一度実行すると、成功します。
2 つのコンソール アプリでこのアセンブリ ローダーを使用し、同じ dll に同時にアクセスして、dll がロックされているかどうかを確認しようとしましたが、これは問題ではないようです。
また、これはバッチの 1 つからの単なるログであることにも言及する必要があります。他にもありますが、同じアセンブリがロードされていないことはめったにありません。
次にどこから解決策を探し始めればよいかわかりません。
c# - C# Dynamic Data Linq To SQL Web サイト アセンブリの読み込み
Visual Studio 2010 Ultimate を使用しています。コンピューターで動的データ linq を sql web サイト プロジェクトにインポートしようとすると、次のエラーが発生します。
------ Rebuild All started: Project: C:...\TestVersion99Website\, Configuration: Debug Any CPU ------ Web サイト構築ディレクトリ '/TestVersion99Website/App_Code/' を検証しています。ディレクトリ '/TestVersion99Website/DynamicData/Content/' を構築しています。ディレクトリ '/TestVersion99Website/DynamicData/FieldTemplates/' を構築しています。C:\Users\Test\Documents\Visual Studio 2010\WebSites\TestVersion99Website\DynamicData\FieldTemplates\MultilineText_Edit.ascx(7): ビルド (web): ファイルまたはアセンブリ 'System.Web.DynamicData、バージョン = 99.0 を読み込めませんでした。 0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つ。システムは、指定されたファイルを見つけることができません。... C:\Users\Test\Documents\Visual Studio 2010\WebSites\TestVersion99Website\DynamicData\FieldTemplates\Text_Edit.ascx(7): ビルド (Web): ファイルまたはアセンブリ 'System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
検証完了 ========== すべて再構築: 0 成功、1 失敗、0 スキップ ==========
Web サイトは、.net 3.5 sp1 フレームワークを使用して作成されました。System.Web.DynamicData アセンブリは、codeplex の DynamicData 4 プレビュー プロジェクトからのものです。
エラーを特定するために、.net 3.5 フレームワークを使用して新しい動的データ linq to sql Web サイト プロジェクトを作成しました。Web サイトが構築されたら、「System.Web.Dynamicdata 3.5.0.0」への参照を削除しました。新しい Bin フォルダーを作成し、アセンブリ "Microsoft.Web.Extensions 99.0.0.0, System.ComponentModel.DataAnnotations 99.0.0.0, System.Web.DynamicData 99.0.0.0" を Bin フォルダーにコピーしました。次に、web.config でアセンブリ バージョンが 99.0.0.0 に変更されていることを確認しました。ただし、ソリューションをビルドしようとすると、同じエラー メッセージが表示されます。なぜこれが起こっているのかわからず、本当にとてもイライラしています。
.net - アセンブリ ローダーの紛らわしい動作
カスタム ビジュアル デザイナーを実装する VS2012 パッケージ (SDK を使用) を開発しています。ソリューションには、いくつかのプロジェクトが含まれています。VS 実験インスタンスでパッケージを実行し、カスタム ビジュアル デザイナーを開こうとすると、次の例外が発生します。
アセンブリ バインディングの問題のように見えるので、Fusion Log Viewerを調べて、アセンブリ ローダー エラーに関する追加情報を取得することにしました。
奇妙なことに、Fusion のログによると、ビジュアル デザイナーを開こうとすると、4 回の読み込み試行VisualDesigner.Configuration
があり、2 回は成功しましたが、2 回失敗しました。
なぜそれが起こるのか分かりません。最初は正常にロードされたのに、その後このアセンブリをロードすると失敗するのはなぜVisualDesigner.Configuration
ですか?
Calling assembly : (Unknown).
また、アセンブリのバインドに失敗した場合にログに記載されているのはなぜですか?
c# - Windows サービス: System.Reflection.ReflectionTypeLoadException がスローされ、次のエラー メッセージが表示されました: Unable to load one or more of re
私はWindowsサービスを使用しています.copy local = falseであるアセンブリの参照があります. しかし、実行時にロードしようとしていますが、ビジュアルスタジオから実行しているときは正常に動作していますが、インストールしようとすると、cmd で次のエラーが発生します。
また、ここで注意すべきことの 1 つは、その .dll のコピー ローカルを true にすると、インストールが正常に行われることです。しかし、インストール前にロードしたくないので、実行時にロードしたいと思います。
前もって感謝します。
c# - Could not load file or assembly 'Microsoft.Practices.Unity'
I am trying to upgrade Unity
to version (2.1.505.2), but when I run the application I get the following FileLoadException
Could not load file or assembly 'Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
We are upgrading from Unity 2.0.414.0 to 2.1.505.2.
- All project references in the solution that refer to Unity refer to the correct version of the dll
- There is no Unity dll referenced in the Gac. (double checked by checking
gacutil -l
) I removed all Unity dlls from the archive. Double checked with powershell
/li>
How can I find out what / who still refers to the Unity 2.0.414.0?
FusionLogVw doesn't tell me which DLL is causing the problem.
Any help is much appreciated!
.net - Azure SDK 2.1 - ファイルまたはアセンブリ 'System.Web.WebPages.Deployment を読み込めませんでした。
Web Platform Installer を使用して、開発サーバーに Azure SDK 2.1 をインストールしました。更新が完了した後、WCF サービスであるテスト プロジェクトは壊れています。プロジェクト (更新前に動作していた) を参照すると、次のエラーが表示されます。
ファイルまたはアセンブリ 'System.Web.WebPages.Deployment、Version=2.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
私が検索するものはすべて MVC を参照しています。私たちは MVC を使用していませんし、使用したこともありません。また、サーバーにインストールすることさえすべきではありません。なぜこのエラーメッセージが表示されるのですか?
編集:別のサーバーでのテストを通じて、「Windows Azure SDK for .NET (VS 2010 SP1) - 2.1」をインストールすると、依存関係として MVC 4.0 が含まれることがわかりました。なぜこれがインストールされるのですか?
c# - フォルダー構造が異なる csproj で同じアセンブリ参照を使用する
次のフォルダー構造を持つソリューションにあり、Dependency.dll を参照する C# プロジェクト MyProject.csproj があります。
- ライブラリ
- 依存関係.dll
- プロジェクト
- 私のプロジェクト
- MyProject.csproj
- 私のプロジェクト
したがって、MyProject.csproj の Dependency.dll への参照には、次のような HintPath があります。
ここで、ソースとして変更せずに、別のプロジェクト構造の別のソリューションで MyProject を使用したいと思います。これは、MyProject が独自のソース管理リポジトリにあり、Mercurial サブリポジトリ/Git サブモジュールとしてさまざまなソリューションで使用しているためです。(問題はソース管理レベルで解決されるかもしれません...) そのような別の解決策は次のようになります:
- ライブラリ
- 依存関係.dll
- 私のプロジェクト
- MyProject.csproj
MyProject フォルダーが Libs フォルダーと同じレベルにあることに注意してください。したがって、元の HintPath は現在無効であり (そうである必要があるため..\Libs\Dependency.dll
)、ビルド エラーが発生します。
これを修正する方法はありますが、異なるソリューション間で同じ csproj を維持する方法はありますか?
次の解決策は素晴らしいですが、csproj の変更が必要です。これは私の場合ほとんど可能ですが、そのような変更を要求できない外部コンポーネントがある場合があるため、可能であればソリューションレベルのオーバーライドを探します。
- ファイルの存在チェックに基づく条件付き HintPath: .csproj アセンブリの複数のヒント パスこれは、ソリューションの構造がここでよく知られているほとんどの場合に機能する可能性があります。
- 複数のアセンブリ検索場所の指定: https://stackoverflow.com/a/15816779/220230
ありがとうございました。