問題タブ [dll]
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.
vb.net - IISでコードを実行するために同じスレッドが使用されていることを確認するにはどうすればよいですか?
IIS6でホストされているWebサービスで使用されるサードパーティのdllがあります。問題は、このdllがメモリにロードされると、それを作成したスレッドとは異なるスレッドがdll内のコードを実行しようとすると、例外AccessViolationExceptionがスローされることです。ワーカープロセスはマルチスレッドであり、Webサービスへの各呼び出しはプールからランダムなスレッドを取得します。メモリからアンロードし、必要になるたびにリロードしようとしましたが、フロントエンドのみが.Netであり、残りは管理されていないため、実際にメモリから完全にアンロードされることはありません。VBと.Net2.0を使用しています。助言がありますか?
(ロブウォーカーへの応答)
新しいスレッドを作成し、それを使用してdllを呼び出すことを検討しましたが、スレッドを停止させて呼び出しを待機するにはどうすればよいですか?.Net 3.0で提供されるDispatcherクラスを使用せずに、どのようにして呼び出しをスレッドに委任しますか?非表示のフォームを作成してメッセージループに入れるとうまくいく場合があります。次に、フォームのInvoke()メソッドを呼び出すことができます。しかし、IISでホストされているWebサービス内にフォームを作成すると、多くの問題が発生することがわかります。
.net - 参照された DLL をロードするために場所が検索される順序は?
.NET フレームワークがいくつかの場所で参照される DLL を探すことを知っています
- グローバル アセンブリ キャッシュ (GAC)
- AppDomain に追加されたすべてのプライベート パス
- 実行中のアセンブリの現在のディレクトリ
それらの場所はどのような順序で検索されますか? 一致が見つかった場合、DLL の検索は中止されますか?それともすべての場所で続行されますか?
また、それらの場所を確認または拒否し、私が言及しなかった他の場所を提供してください.
dll - ビスタでgacにdllを追加する方法
dllをビスタのアセンブリフォルダにドラッグアンドドロップすると、「アクセスが拒否されました:mydll.dll」というエラーが表示されます。エラーメッセージをバイパスしてdllをgacに追加するにはどうすればよいですか?
.net - デプロイされたユニットを反映するために、通常、リポジトリの構造で何かが行われるとしたら?
これは質問のフォローアップです:
ソリューション内のフォルダーは名前空間と一致する必要がありますか?
その質問に対するコンセンサスは、修飾された「はい」でした。つまり、一般的にはフォルダー == 名前空間ですが、奴隷的ではありません (Java が必要とする方法)。
実際、それが私がプロジェクトを設定する方法です。
しかし、ソース管理をセットアップすると、現在のフォルダー構造について躊躇するようになりました。.NET Framework と同様に、私のプロジェクトの名前空間は、デプロイされたユニットと常に 1 対 1 で一致するとは限りません。あなたが持っていると言う
つまり、子の名前空間は、親に同梱される場合と同梱されない場合があります。
一緒に展開する名前空間は何らかの方法でグループ化されていますか?
ところで、私は VS や NAnt を使用していません。古き良きビルド バッチだけです。
visual-c++ - dllexport と dllimport の違いは何ですか?
これら2つの違いの簡単で簡潔な説明を探しています。MSDN では、ここで詳細を詳しく説明することはしません。
c# - 同じアセンブリの異なるバージョンの読み込み
リフレクションを使用して、同じアセンブリの 2 つの異なるバージョンを読み込む必要があります。同じプロセスで 2 つの異なる AppDomains に 2 つのバージョンをロードできますか?
アプリの古いバージョンから新しいバージョンにデータを移行する必要があります。これが可能かどうか、または 2 つの別々のプロセスを使用する必要があるかどうかをお知らせください。
.net - 移植可能な実行可能ファイルを .net DLL に埋め込んで使用することは可能ですか?
私の質問を考える最も簡単な方法は、単一の単純な unix コマンドを考えることです (ただし、これは Windows 用です)。それを実行するには、プログラムによるアクセスが必要です。
いくつかの作業単位を実行する単一のコマンドライン ベースの実行可能ファイルがあります。他の実行可能ファイルと同じように、.net プロセス ライブラリでその実行可能ファイルを呼び出したいと思います。
ただし、実行可能ファイルまたは存在しない実行可能ファイルへの意図しない更新により、dllが役に立たなくなったり、壊れたりする可能性があることに気づきました。
外部の実行可能ファイルと同様に、.net フレームワークの Process オブジェクトから実行可能ファイルを実行することはできますか?
security - ネットワークからのアセンブリの読み込み
これはこの質問に関連しており、答えはおそらく同じですが、とにかく尋ねます。
.NET 3.5 SP1 からネットワークからマネージ実行可能ファイルを開始できることは理解していますが、実行可能ファイル内からロードされたアセンブリはどうなりますか? 同じことが当てはまりますか?
dll - 参照されている DLL を見つけるために使用できるツールは何ですか?
これは VB6 DLL および COM オブジェクトの古い問題ですが、私はまだ日々直面しています。別の DLL が参照している DLL ファイルまたはバージョンを確認するには、どのツールまたは手順を使用できますか?
VB6 IDE 内からではなく、実行時にコンパイルされた DLL について言及しています。
DLL地獄です。
c# - タイプを使用せずに多くのマネージDLLをロードするのは悪いことですか?
背景:私の会社では、同じコアdllを使用する多数のアプリケーションを開発しています。これらのdllは、Spring.netのIoCコンテナを使用して接続します(自動配線)。すべてのアプリケーションは同じSpring構成ファイルを使用しており、この構成ファイルは多くの異なるdllの多くのクラスを指しています。ただし、すべてのアプリケーションがすべてのdllの機能を必要とするわけではありません。ただし、IoCコンテナの動作方法により、すべてのdllがSpring.netに読み込まれ、タイプを調べて、実装されているインターフェイスなどを確認します。
主要な質問:実際に使用しているdllをロードする方がよいことを理解しています。しかし、マネージDLLをロードするだけでメモリ使用量が本当に悪いのでしょうか。それとも、最初にdllでクラスを使用していて、最も多くのメモリが使用されているとJITされていますか?