問題タブ [assemblybinding]

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.

0 投票する
0 に答える
131 参照

.net-assembly - Web アプリケーションの公開中のとらえどころのないプロセッサ アーキテクチャの不一致

私たちのチームは、x64 を対象とした Web アプリケーションを開発しています。そのプロジェクト参照とその依存関係はすべて x64 を対象としています (.csprojファイルとアセンブリを確認しました)。構成ファイルにレイトバウンド参照はありません。

IIS 8.x Express では、すべてが正常にコンパイルおよび実行されます。公開するときにのみ表示されます

無効なアセンブリ プラットフォームまたはファイル内の ContentType

Fusion ログで。これaspnet_compiler.exeは、パブリッシュの一部としての実行中に発生します。確かに、ある種のプロセッサ アーキテクチャの不一致があるようですが、どこでしょうか?

ターゲット フレームワークとターゲット プロファイルも確認しました。Web プロジェクトのフレームワークは .NET 4.5 です。その依存関係はすべて 4.5 以下であり、プロファイルは非クライアント プロファイルです。

0 投票する
0 に答える
441 参照

.net - アセンブリ ローダーの紛らわしい動作

カスタム ビジュアル デザイナーを実装する VS2012 パッケージ (SDK を使用) を開発しています。ソリューションには、いくつかのプロジェクトが含まれています。VS 実験インスタンスでパッケージを実行し、カスタム ビジュアル デザイナーを開こうとすると、次の例外が発生します。

アセンブリ バインディングの問題のように見えるので、Fusion Log Viewerを調べて、アセンブリ ローダー エラーに関する追加情報を取得することにしました。

奇妙なことに、Fusion のログによると、ビジュアル デザイナーを開こうとすると、4 回の読み込み試行VisualDesigner.Configurationがあり、2 回は成功しましたが、2 回失敗しました

なぜそれが起こるのか分かりません。最初は正常にロードされたのに、その後このアセンブリをロードすると失敗するのはなぜVisualDesigner.Configurationですか?

Calling assembly : (Unknown).また、アセンブリのバインドに失敗した場合にログに記載されているのはなぜですか?

0 投票する
2 に答える
4002 参照

c# - サード パーティのアセンブリに、別のアセンブリの別のバージョンを使用させる

統合テストを実行していて、そのコード行に到達すると:

(内部で autofac コンテナを使用)

私はこの例外を受け取ります:

融合ログ:

autofac Web API 統合は、Web API 2.0 までしか機能しないようです。system.web.http 5.0.0 を参照せず、代わりに 5.1.0 を参照する Web API 2.1 を使用すると、動作しなくなります。

5.0.0 ではなく system.web.http 5.1.0 バージョンを使用するように autofac に指示するにはどうすればよいですか?

これを統合テスト AND API プロジェクトの app.config に入れました。

しかし、うまくいきませんでした!

非常に奇妙なもう 1 つのことは、.NET 4.5.1 を使用すると、このリダイレクト アセンブリが自動的に行われることを読んだことです。しかし、それは起こっていません...

0 投票する
1 に答える
753 参照

.net - 厳密な名前のアセンブリを別のキーで署名されたものに置き換えることは可能ですか?

アプリケーションの他のコンポーネントによって参照される、厳密な名前の .NET アセンブリにライセンス アルゴリズムを実装しようとしています。もちろん、誰かがライセンス チェックを含むアセンブリを交換し、それによってアプリケーション機能のロックを解除するリスクを最小限に抑えたいと考えています。

私の知る限り、アセンブリを別のバージョンにリダイレクトできます (パブリッシャー ポリシーまたはアプリケーション構成ファイルで)。しかし、別の名前を持つアセンブリや別のキーで署名されたアセンブリにリダイレクトする方法が見つかりませんでした。

別のキーで署名されたアセンブリが使用されるように、アセンブリ バインドに影響を与える他の方法はありますか? 存在する場合、このアルゴリズムをバイパスするために必要な労力はどれくらいですか?

0 投票する
1 に答える
1481 参照

vb.net - DLL app.config でのアセンブリ バインディングの使用

私はクラス ライブラリの操作にかなり慣れていないので、誰かが何か不足しているかどうか、または私がやろうとしていることはそれだけの価値があるかどうかを教えてくれることを望んでいました:

VB6 アプリケーションから実行されている dll があります。これを test.dll と呼びます。Test.dll は、Dep.dll と呼ぶ別の .dll を使用します。

最初に、Test.dll に Dep.dll への参照を追加し、Copy Local = 'False' に設定しました。次に、VB6 アプリケーション構成ファイルでアセンブリ バインディングを設定します。

しかし、Test.dll 用の app.config ファイルを作成し、VB6.exe 用のアプリ構成ファイルの代わりに前述のエントリをそこに入れることができたと聞いています。

何らかの理由で、参照をこのように機能させることができませんでした。エラーメッセージは次のとおりです。

ファイルまたはアセンブリ 'Dep.dll, Version=1.0.0.2,Culture=neutral,PublicKeyToken=xxxxxxxxxxx' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

app.config ファイルの Build Action プロパティを「Content」に変更し、Copy Output プロパティを「Copy Always」に変更しました。また、Test.dll のプロジェクト ファイル内にある Dep.dll への元の参照に対しても何もしませんでした。VB6.exe の app.config ファイルから Dep.dll のアセンブリ バインド エントリを削除しました。

app.config ファイルを使用した dll の動作例を 1 つここに示しますが、アセンブリをバインドせず、多数のアプリ設定を持っているだけです。

私が行っている研究は、おそらく私がやっていることは不可能であるか、ベストプラクティスでさえないことを示唆していますが、今私がしようとしていることが可能かどうかを知りたいだけです. もしそうなら、私は何が欠けていますか?

0 投票する
0 に答える
650 参照

c# - mshtml に CustomMarshallers をロードさせるにはどうすればよいですか?

.Net Framework 4 を使用する従来の c# アプリケーションを使用しています。このアプリケーションは WebBrowser コントロールを使用し、「Microsoft HTML Object Library」(mshtml) を参照します。現在のバージョンは Server 2003 に展開され、.Net Framework 2 SDK がインストールされている場合にのみ実行されます。

プッシュは、アプリをサーバー 2008 にデプロイすることですが、フレームワーク SDK は使用しません。しかし、もちろん、アプリは実行されません。生成されるエラーは、「タイプ 'System.__ComObject' の COM オブジェクトをクラス タイプ 'mshtml.HTMLFormElementClass' にキャストできません」です。この特定のエラーは、インターフェイスにキャストすることで解決できることを認識しています。実際、この変更を行ったところ、アプリは次の mshtml キャスト エラーまで実行されました。アプリケーション全体に 200 行を超える同様のコードがあり、加えられた変更をテストする適切な方法がありません。

Fusion Log Viewer を使用して、読み込まれている依存関係を把握し、Visual Studio 2010 からアプリを起動したとき、またはシステム管理者が発見したように Visual Studio 2010 がインストールされている場合に、mshtml によって CustomMarshalers が読み込まれていることを発見しました。アプリを起動する前のサーバー 2008。私の直感は、Visual Studio の存在に関係なく、CustomMarshaler を読み込むには mshtml が必要だということです。

mshtml が CustomMarshallers をロードする Visual Studio の原因は何ですか? コードからこれを実現するにはどうすればよいですか?

CustomMarshallers の Fusion ログ ビューアー エントリ: