問題タブ [assemblies]
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 - アセンブリ内の読み取り専用とプロパティの質問/難問
アセンブリ (DLL) の外部でプロパティを "ReadOnly" に設定して、DLL を使用しているユーザーがアセンブリ内からそのプロパティを読み込むことができるようにするにはどうすればよいですか?
たとえば、Transaction オブジェクトで何かが発生したときに、Document オブジェクト (Transaction クラスの子クラス) にプロパティを設定する必要があるTransactionオブジェクトがある場合、DLLを使用して開発するだけです。そのプロパティを読み取ることはできますが、変更することはできません (DLL 自体からのみ変更する必要があります)。
assemblies - アセンブリでモジュールを論理的にグループ化するとはどういう意味ですか?
アセンブリでモジュールを論理的にグループ化するとはどういう意味ですか? .NET の CLR がアセンブリでどのように機能するか説明してください。
asp.net - 同じ署名を持つ Web サイトのアセンブリ参照エラー
IIS 6 と Windows Server 2003 で複数の ASP.NET 2.0 Web サイトを持っています。各サイトはいくつかの DLL (デザイン、ロジックなど) を参照しています。各サイトは、リサイクル手法に関する既定の構成を持つ異なる ApplicationPool にあります。
すべての DLL には厳密な名前 (遅延なし) が付けられ、変更されないバージョン (2.0.0.0) があり、すべての DLL は GAC に配置されます。
Webサイト「A」で使用するために何か(メソッド、クラスなど)が変更されたGAC(つまりMyLibrary.dll)のDLLを更新した後、「A」アプリケーションプールのみをリサイクルした後、同じ DLL を参照する Web サイト "B" にアクセスしようとすると、その DLL に関する一般的なエラーが発生します。
見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
もちろん、コード、同じ強力なキー、同じバージョン、カルチャではなく、DLL では何も変更されていません。もちろん、「B」アプリケーションプールをリサイクルすると、エラーは消えます。
奇妙でランダムな(言わざるを得ない!) 動作を生成するものは何ですか? ハッシュのように、アセンブリを比較するために使用されるものは他にありますか?
補遺
- Perpetualcoderは、DLL がどのように参照されるかを私に尋ねました。完全修飾名がある場合は、web.config の次の行だと思います。
assembly="MyNamespace.MyComponent, Version=2.0.0.0, Culture=neutral, PublicKeyToken=1234567890ASDFGH"
visual-studio - VS2005で自動生成された相互運用機能アセンブリでCOMDLLのバージョンを保持するにはどうすればよいですか?
同僚のCOMDLL(MyLogic.dll)への参照をVisual Studio 2005のC#プロジェクトに追加しました。予想どおり、これにより、出力フォルダーにInterop.MyLogicLib.dllが自動生成されます。ただし、COM DLLのバージョン番号は2.1.0.180ですが、自動生成された相互運用機能アセンブリのバージョン番号は1.0.0.0です。Visual Studioに元のバージョン番号を保持させるにはどうすればよいですか?
現状では、1.0.0.0のバージョン番号は、私の製品のインストールに悲しみを与えています。古いコピーと新しいコピーの両方に1.0.0.0バージョンがあるため、インストーラーは相互運用DLLの以前のバージョンを上書きすることを拒否します。
ちなみに、「tlbimp /asmversion:2.1.0.180 MyLogic.dll」を使用して、コマンドラインでアセンブリを手動で生成しようとしましたが、次のようになりました。
- 私のプロジェクトは、手動で生成されたアセンブリでのビルドを拒否し、使用しているタイプはInterop.MyLogicLib.dllという非参照アセンブリで定義されていると言っています(手動で作成しているものには「Interop」プレフィックスがありません)。 )。認めざるを得ない、私はこれを理解していない。
- ツールにCOMDLLからバージョン番号を読み取らせるのではなく、事前にバージョン番号を知っておく必要があります
- それは手動のプロセスです、それはひどいです
とにかく、確かにVisual StudioはCOMバージョン番号を自動的にコピーできますか?
更新:お詫び; 別の質問を複製したようです。私は最初に既存のものを検索しました、正直なところ。私はそれを逃した。:(
.net - 現在ロードされているアセンブリをどのようにループしますか?
ASP.NET アプリケーションに「診断」ページがあり、データベース接続の確認、現在の appSettings と ConnectionStrings の表示などを行います。このページのセクションには、全体で使用される重要な型のアセンブリ バージョンが表示されます。 、しかし、読み込まれたすべてのアセンブリのバージョンを効果的に表示する方法がわかりませんでした。
.NET アプリケーションで現在参照されている、または読み込まれているすべてのアセンブリを把握する最も効果的な方法は何ですか?
注: 特定のディレクトリで *.dll を反復処理するような、ファイル ベースの方法には興味がありません。アプリケーションが現在実際に使用しているものに興味があります。
.net - サブフォルダー内のプライベート .net アセンブリの参照
Visual Studio 2008 では、プロジェクト参照を追加し、Copy Local プロパティを true に設定できます。その結果、参照されたアセンブリは、メイン アセンブリのビルド先と同じフォルダーにコピーされます。
しかし、参照されているすべてのアセンブリをメイン アセンブリの近くのサブフォルダーに入れたい場合はどうすればよいでしょうか。
このようなもの:
PS: これは、.NET Compact Framework 3.5 に対するスマート デバイス アプリケーションのビルドです。
c# - 別のアセンブリで .config ファイルを読み取る
dll アセンブリで .config ファイルを読み取る可能性はありますか? 現時点では、動作しているように見える Assembly.Location プロパティで OpenExeConfiguration を使用しています。しかし、ConfigModuleA.config、ConfigModuleB.config などのように、用途ごとに個別の .config ファイルを作成したいと考えています。
何か案が?
.net - mscorlib.dll & System.dll
MS が最初にこれら 2 つのコア ライブラリを維持することを決定したのはなぜですか? スケーラビリティの問題を念頭に置いていたのかもしれませんが、最近では、両方を必要としないアプリケーションは見たことがありません。誰もこれに関する内部情報を持っていますか? 特に重要ではありませんが、何年も前から気になっていました。
PS。私は 2 つのライブラリの内容を知っています。違いも知っています。私はReflectorの大ファンです:)
asp.net - すべてのASP.NETWebアプリケーションのロード/参照されたアセンブリをバージョン番号で表示するにはどうすればよいですか?
デバッグと保守の目的で、ASP.NET Webアプリケーション内の専用Webページに使用されているすべてのアセンブリのリストを表示したいと思います(このWebアプリケーションのインスタンスはさまざまなサーバーに多数あります)。アセンブリは、 binフォルダーまたはGACから呼び出すことができます。自分で書いたものもありますが、サードパーティのアセンブリもあります。
バージョン番号(-...を呼び出す)を含む、Webアプリケーションのすべてのロードまたは参照されたアセンブリのリストを取得するための簡単で自動化された方法はありますか?バージョンチェックのためにすべてのアセンブリ名を明示的に渡す必要がありますか、それとも自動的に取得できますか?依存関係/参照の包括的なリストにReflectionを使用する必要がありますか?System.Reflection.Assembly
GetName().Version
reflection - アセンブリを 1 回だけロードする
実行時にアセンブリをロードしていますが、コードを呼び出すたびに発生する問題は、その特定のアセンブリが既にロードされているかどうかを確認する必要があるかということです。それとも.Netがこれを処理し、1つのアセンブリ(同じバージョン)を1回しかロードできませんか? ここでの基本的な質問は、読み込まれたアセンブリのリストを反復処理して、アセンブリが既に読み込まれているかどうかを確認する必要があるかどうかです。ありがとう