問題タブ [assembly-resolution]
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.
.net - REGASM&COMを使用する場合、GACにないアセンブリの複数の検索パス
Microsoft Excel VBAで参照できるように、COMに登録される.NETアセンブリを作成中です。
アセンブリはGACにないサードパーティの.NETアセンブリ(いくつかの有用なクラスを含む)を参照しますが、サードパーティのアセンブリへのパスが常ににあるとは限らないため、アセンブリの展開に問題があります同じ場所(ユーザーのロケールと、サードパーティのアセンブリがインストールされた最近の状況によって異なります)。
つまり、(REGASMを使用して)アセンブリを展開する場合、インストール先のシステムによっては、アセンブリがサードパーティのアセンブリに依存していることが見つからなかったため、REGASMがフォールオーバーすることがあります。
理想的には、アセンブリでアーリーバインディングを使用したいのですが、これを実行し、サードパーティアセンブリへのパスがVisual Studioの参照と同じでない場合、REGASMは失敗します。
「ローカルコピー」(VS)でこれを解決できることはわかっていますが、サードパーティのアセンブリにパッチが適用されることがあるため、アセンブリと同じフォルダに古いバージョンを保持したくありません。
「ローカルコピー」を使用する必要がないように、これを回避する方法はありますか?サードパーティのアセンブリのある種の動的ロードを使用できると思いますが、それでも早期バインディングを使用できますか?(そしてREGASMは機能しますか?)
.net - .NETでの完全修飾型解決
簡単な質問(SharePoint 2010に登場しますが、実際には関係ありません)。
どうやって:
...実際のタイプ(LdapMembershipProvider)がMicrosoft.Office.Server.UserProfilesアセンブリでのみ検出され、Microsoft.Office.Serverアセンブリでは検出されない場合に解決しますか?
どちらもGACに登録されています。
完全修飾タイプが指定されている場合でも、Fusionは他のアセンブリをプローブしますか?
nhibernate - アセンブリ Nibernate が見つかりません
NHibernate を使用して Web アプリを開発していますが、エラーが発生します。
奇妙なことに、これは断続的であり、これが発生すると、VS 2010 組み込み Web サーバーがクラッシュします。ただし、すべてのリクエストまたは特定のリクエストで発生するわけではありません。
いくつかの異なる解決策を示すオンラインの記事をいくつか見つけて、それらを試してみました (/bin フォルダーにコピーがあることを確認し、dll がブロックされていないことを確認し、32 ビット用にアプリをコンパイルすることを含めます)。これらの解決策はどれもそれに影響を与えないようです。いずれにせよ、最初のカップルは、断続的にではなく、常に問題になる問題のようです。
unit-testing - 単体テスト プロジェクトのビルド中に、VS 2010 がテスト用の参照アセンブリを見つけられない
単体テスト プロジェクト (XXX.UnitTest としましょう) を開発して、ソリューションの別のプロジェクト (XXX) で ViewModels をテストしています。参照を追加できますが、ビルドすると、同じプロジェクトが見つからないというエラーが表示されます (XXX)
エラー 42 ファイルまたはアセンブリ 'XXX、Version=1.0.2.66、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。XXX.ユニットテスト
- ソリューション内のすべてのプロジェクトを完全に再構築しました。
- そのバージョン番号 (1.0.2.66) のアセンブリが、参照していたパスに存在することを確認しました。
- プロジェクトとしても参照タブからも、参照を削除して再度追加しました。
- csproj ファイルでバージョン番号が指定されていないことを確認しました。
- 参照されているアセンブリを Dependency Walker で検証しました。
- 両方のプロジェクトが x86 プラットフォームをターゲットにしていることを確認しました。(ここで提案されているように、デバッグに役立つヒント「ファイルまたはアセンブリ X またはその依存関係の 1 つを読み込めませんでした」 )
他に何がこの問題を引き起こす可能性があるか知っている人はいますか?
c# - アセンブリの読み込み時に Windows サービスがロックされる
C# で記述された Windows サービスがあります。デバッグ用のスタンドアロン コンソール モードも含まれています。これまでに実行されたほぼすべてのコンピューターで正常に動作しますが、このサービスを開始しようとするとロックアップし、タイムアウトのために強制終了されるという状況に遭遇しました。しかし、同じマシンでコンソール モードで実行すると、問題なく起動します。
これが発生しているマシンに実際にアクセスできないため、デバッグは面倒です。人間のプロキシを経由する必要があります。しかし、試行錯誤のデバッグを重ねた結果、最終的に原因をアセンブリの読み込みに絞り込みました。ログ ファイルによると、特定の dll 内の任意のデータ型への最初の参照に到達すると、そこで停止します。例外を与えるわけでもなく、ロックするだけです。
[編集] さらに調査した結果、永久にロックされているわけではないようです。実際にライブラリのロードを完了するのに約 40 秒かかります。これは、Windows サービスがプロセスを強制終了することを決定するのに十分な時間です。
この種の状況をデバッグする方法の手がかりはありますか?
これが私がそれを再現できる最も簡単な解決策です。「Before」は表示されますが、「During」と「After」は表示されません。
.net - .NET Fusionロガー:デフォルトイメージとネイティブイメージの違いは何ですか?
.NETフュージョンロガー(FUSLOGVW.exe)で、画面の右下にある2つのオプションは何をしますか?
そして、どちらを使用して混合モードのアセンブリの問題を診断するにはどうすればよいですか?
.net - .Netアプリケーションでのアセンブリの参照
私のアプリケーションでは、プロジェクトの出力パスに追加せずに、ネットワーク共有に存在するアセンブリ(アプリケーション自体もその共有上にあります)をロードしたいと思います。私が欲しいのは、アプリケーション以外はほとんど含まれていない出力ディレクトリです。
プロジェクトの参照パスにターゲットディレクトリを追加するだけでは機能しません。
App.Configでプローブディレクトリを設定しようとしましたが、機能しませんでした(ネットワーク共有ではなく、ローカルのdikでテストした場合でも)
ヒントを事前に感謝します!
編集:これが進んでいる方法は、反省を通してつながるようです。NInjectのような依存性注入コンテナを使用するよりエレガントな方法はありませんか?
wcf - WCF サービス (IIS 7) での不可解なアセンブリ ロード
私は、既存の ASP.NET Web アプリケーション内でホストされる新しい WCF Web サービスに取り組んでいます。サービスの .svc ファイルを実行しようとすると、アセンブリのファイルが見つからないという例外が発生します。
ファイルまたはアセンブリ 'System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
問題は、このサービスがこの (特定の) アセンブリをどこにも参照していないように見えることです。System.IdentityModel をロードする参照プロジェクトが 1 つありますが、それはバージョン 3.0.0.0 を参照しています。実際、これらのプロジェクトはすべて 3.5 ランタイムを対象としており、4.0 アセンブリへの参照はどこにもありません。
<compilation>
Web アプリケーションの Web.config からのタグを次に示します。
注: この<clear />
タグは、トラブルシューティングの試みとして後で追加されました。行動への影響はないようでした。IIS構成マネージャーの「.NETコンパイル」タブで、System.Dataが2回追加されているというエラーが表示されたため、追加しましたが、明らかにこのファイルには含まれていません。追加<clear />
することで問題は解決しましたが、問題のある複製が Machine.config に見つからず、ベース Web サイト Web.config がないため、探していない場所があるのではないかと考えています。問題の原因になります。
サーバーは、.NET 3.5 SP1 を搭載した Server 2008 を実行しています。.NET 4.0 を使用した Windows 7 x64 にあるローカルの IIS インストールで、同じ問題が発生します ( System.Configuration
IdentityModel の代わりに使用しますが、それでも...)。
このアセンブリをロードしようとしている理由 (バージョン 3.0.0.0 のみが参照されている場合) と、それを修正するために何ができるかを知っている人はいますか?
.net - .NET アセンブリ参照はどのようにファイル パスに "変換" されますか?
SBS 2008 サーバー上の Outlook Web Access で .NET 2.0 エラーをトラブルシューティングしようとしています。
私が得ているエラーは次のとおりです。
web.config の 51 行目に、次のものがあります。
したがって、「web.config-ese」では、そのアセンブリ.DLLがどこにあるのかをどのように「知る」Microsoft.Exchange.Data
のですか?ファイルが存在するかどうかを確認するために、これをどのように判断できますか?
c# - FluentNHibernateチュートリアルの例を実行しようとしたときのランタイムエラー
http://wiki.fluentnhibernate.org/Getting_startedでFluentNHibernateチュートリアルを実行したところ、プロジェクトは正常にコンパイルされました。
ただし、ランタイムエラーが発生し、解決できないようです。エラーは、チュートリアルで確認できるCreateSessionFactoryメソッドで発生しています。ここにあります:
最も役立つのは、最も外側の例外から最も内側の例外までの例外チェーン(実際の単語)を提供することだと思います。
チュートリアルでは、参照の設定方法が明確ではなかったため(または、最も内部の例外に基づいて少なくとも不完全に見える)、コンパイルされたアセンブリをhttp://fluentnhibernate.org/downloads/releases/fluentnhibernate-1.1.zipから取得してコピーしました。それらをlibsフォルダーに入れます。エラーのグーグルに基づいて、FluentNHibernate、NHibernate、およびNHibernate.ByteCode.Castleアセンブリへの参照を設定しました。ダウンロードページからすべてのdllをbinディレクトリにコピーしたところ、すべての参照が解決されると思いました。(それはそれがどのように機能するかについての私の理解です)。いずれにせよ、ここに私がbinにコピーしたファイルのリストがあります。
System.Data.Sqliteアセンブリもbinにコピーしました。
私の一生の間、私は問題が何であるかを理解することができません。私は考えられるすべてのことを試し、複数のエラーメッセージをグーグルで検索しましたが、何もうまくいきませんでした。
ヘルプ!私はこれに何時間も無駄にしました。
編集
私はプロジェクトのソースファイルをhttp://dl.dropbox.com/u/8824836/FluentNHibernateExample.zipに置きました。私の環境を完全に複製するには、ここからすべてのファイルをoutput/binディレクトリに配置する必要があることに注意してください。
セス