タグ付けされた質問 「dll」

ダイナミックリンクライブラリ(DLL)は、別のモジュール(アプリケーションまたはDLL)で使用できる関数とデータを含むモジュールです。これは、Microsoft WindowsおよびOS / 2オペレーティングシステムにおける共有ライブラリの概念のMicrosoftによる実装です。



6
publickeytokenを変更しながらlog4netを回避するには
log4netバージョン1.2.10.0に依存するいくつかのフレームワークを使用するasp.net 4.0プロジェクトがあります。今日、私はlog4netバージョン1.2.11.0に依存する新しいフレームワークを含めようとしました。それ以来、私は行き詰まっています。 log4net 1.2.10.0にはpublickeytoken = 1b44e1d426115821があります log4net 1.2.11.0にはpublickeytoken = 669e0ddf0bb1aa2aがあります これらは異なるため、web.configのランタイム要素を介して、アセンブリリダイレクト(すべてのフレームワークで同じバージョンのlog4netを使用する)またはコードベース(新しいフレームワークでバージョン1.2.11.0を使用する)を使用できません。 ここに私のオプションは何ですか? (そして、なぜlog4netがバージョン間でpublickeytokensを変更し続けるのか、私はそれが失われたキーがバージョン1.2.9.0と1.2.10.0の間の切り替えの理由だったと理解しているので、彼らは再びキーを失いましたか?私は自分のドロップボックスをボランティアします必要に応じて安全に保管する...) 編集:[OK]を、log4netのみんなは明らかにその手段があること2つのキーで解除することは良いアイデアだったという考えを持っていましたが、ので、すべてのあなたがニーズを利用するフレームワークが同意している彼らが好む2種類の、またはそれらのフレームワークできない作業側同じappdomainに並んでいます。私がこれを恐ろしい考えだと思ったのは私だけですか?誰もがこれを行った場合、すべてが壊れますよね? Edit2:前述のように、ビジネスコードでlog4netを使用していませんが、1.2.10.0に依存するいくつかのフレームワークを使用しています。1.2.11.0に依存する新しいフレームワーク(新しいキー)を使用しようとすると問題が発生しました。 )、新しいフレームワークは古いキーではなく新しいキーを期待するため、ステファンの回答は適用されません

9
CMakeを使用してDLLファイルを実行可能ファイルと同じフォルダーにコピーする方法
CMakeを使用して、SVNでソースのVisual Studioファイルを生成します。現在、私のツールでは、いくつかのDLLファイルが実行可能ファイルと同じフォルダーにある必要があります。DLLファイルは、ソースと同じフォルダーにあります。 CMakeLists.txt生成されたVisual Studioプロジェクトがリリース/デバッグフォルダーに特定のDLLファイルを既に持っているか、コンパイル時にそれらをコピーするように変更するにはどうすればよいですか?
98 dll  cmake 

4
Dependency WalkerはIESHIMS.DLLおよびWER.DLLがないと報告しますか?
Internet Explorer 8ボックスを備えたWindows XP Professional SP3で、私の実行可能ファイルに対してDependency Walkerを実行すると、IESHIMS.DLLおよびWER.DLLが見つかりません。 これらのDLLは必要ですか? どこで入手できますか? C:\ Windows \ System32 \ Wer.dllとC:\ Program Files \ Internet Explorer \ Ieshims.dllにあるはずだと思います

5
現在実行中のDLLの場所を取得するにはどうすればよいですか?
作成しているdllの実行の一部としてロードする必要のある構成ファイルがあります。 私が抱えている問題は、アプリの実行時にdllと構成ファイルを配置した場所が「現在の場所」ではないことです。 たとえば、ここにdllファイルとxmlファイルを配置します。 D:\ Program Files \ Microsoft Team Foundation Server 2010 \ Application Tier \ Web Services \ bin \ Plugins しかし、次のように(dll内の)xmlファイルを参照しようとすると: XDocument doc = XDocument.Load(@".\AggregatorItems.xml") 次に、。\ AggregatorItems.xmlは次のように変換されます。 C:\ windows \ system32 \ inetsrv \ AggregatorItems.xml したがって、現在実行中のdllがどこにあるかを知る方法を見つける必要があります(私は願っています)。基本的に私はこれを探しています: XDocument doc = XDocument.Load(CoolDLLClass.CurrentDirectory+@"\AggregatorItems.xml")
93 c#  .net  dll  file-io 

13
java.lang.UnsatisfiedLinkErrorいいえjava.library.pathに*****。dll
Webアプリケーションにカスタムdllファイルをロードするにはどうすればよいですか?私は以下を試しました: system32フォルダー内のすべての必要なDLLをコピーし、それらの1つをServletコンストラクターにロードしようとしましたSystem.loadLibrary とに必要なdllをコピーtomcat_home/shared/libしましたtomcat_home/common/lib これらのDLLはすべてWEB-INF/libWebアプリケーション内にあります



6
C#で実行時にDLLをロードする
C#アプリケーション内で実行時に.dllをインポートして使用する方法を理解しようとしています。Assembly.LoadFile()を使用して、プログラムにdllをロードさせることができました(ToString()でクラスの名前を取得できるため、この部分は確実に機能しています)が、「出力」を使用できません。コンソールアプリケーション内からのメソッド。.dllをコンパイルしてから、コンソールのプロジェクトに移動しています。CreateInstanceとメソッドを使用できるようになるまでの間に追加の手順はありますか? これは私のDLLのクラスです: namespace DLL { using System; public class Class1 { public void Output(string s) { Console.WriteLine(s); } } } これがDLLをロードしたいアプリケーションです namespace ConsoleApplication1 { using System; using System.Reflection; class Program { static void Main(string[] args) { var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll"); foreach(Type type in DLL.GetExportedTypes()) { var c = …
91 c#  reflection  dll 

6
DLLとは何ですか?
これは非常に疑問の余地のある質問かもしれませんが、今日のWebアプリ開発の世界では、多くのプログラマーはDLLの多くに対処する必要がないため、その目的について学ぶ必要がありません。 では、dllとは何でしょうか。 何に使うの? それはどのように機能しますか? どのように作成しますか? どのような状況で適切なものを作成していますか? dllは関数のライブラリを格納するために使用されると言われましたが、それ以上はよくわかりません。うまくいけば、ここの誰かが私を啓発してくれるので、Windowsディレクトリ内の.dllファイルがすべて何をしているのかと思ってしまうのをやめることができます。
90 dll 

16
「ViewBag」という名前は現在のコンテキストに存在しません
アプリケーションでViewBagを使用しようとしています。最近のDLLはすべてMVC 3の最新バージョンですが、それでもエラーが発生します。 「名前 'ViewBag'は現在のコンテキストに存在しません」 MVC 3をアンインストールしてから再インストールしましたが、変更はありません。 また、dllがGACに表示されているとは思いません。 私の問題は何でしょうか?または、dllをGACに追加する方法は?

3
DLLから関数を動的にロードします
私は.dllファイルを少し見ていて、それらの使用法を理解していて、それらの使用方法を理解しようとしています。 funci()という名前の整数を返す関数を含む.dllファイルを作成しました このコードを使用して、私は.dllファイルをプロジェクトにインポートしました(苦情はありません): #include <windows.h> #include <iostream> int main() { HINSTANCE hGetProcIDDLL = LoadLibrary("C:\\Documents and Settings\\User\\Desktop \\fgfdg\\dgdg\\test.dll"); if (hGetProcIDDLL == NULL) { std::cout << "cannot locate the .dll file" << std::endl; } else { std::cout << "it has been called" << std::endl; return -1; } int a = funci(); return …
88 c++  winapi  dll 

5
登録不要のCOMのマニフェストファイルを生成する
マニフェストファイルを使用するアプリケーション(ネイティブ、.NET)があり、グローバルCOM登録を必要とせずに完全に分離して展開できます。たとえば、dbgrid32.ocx comサーバーへの依存関係は、myapp.exeと同じフォルダーにあるmyapp.exe.manifestファイルで次のように宣言されています。 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity type="win32" name="myapp.exe" version="1.2.3.4" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" /> </dependentAssembly> </dependency> </assembly> dbgrid32.ocxは、独自のdbgrid32.ocx.manifestファイルとともに同じフォルダーにデプロイされます。 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity type="win32" name="dbgrid32.ocx" version="5.1.81.4" /> <file name="dbgrid32.ocx"> <typelib tlbid="{00028C01-0000-0000-0000-000000000046}" version="1.0" helpdir=""/> <comClass progid="MSDBGrid.DBGrid" clsid="{00028C00-0000-0000-0000-000000000046}" description="DBGrid Control" /> </file> …

3
DLLには何が含まれ、どのように機能しますか?
私は常にC#コードでDLLを参照していますが、それらはまだ謎のままであり、明確にしておきたいと思います。これは、DLLに関する質問の一種の頭脳ダンプです。 DLLは動的にリンクされたライブラリであると理解しています。つまり、別のプログラムが実行時にこのライブラリにアクセスして「機能」を取得できます。ただし、Web.dllとBusiness.dll(Web.dllはフロントエンド機能でありBusiness.dll、タイプとメソッドを参照する)を含む次のASP.NETプロジェクトを検討してください。 どの時点でWeb.dll動的にリンクしBusiness.dllますか?Word(など)を使用しているときに、一見小さなタスクのためにWindows HDDがスラッシングしていることに気づきましたが、Wordがオフになり、他のDLLの機能に動的にリンクしていると思いますか? 1a。さらに、DLLをロードしてリンクするものは何ですか?OSまたは.NETフレームワークなどのランタイムフレームワークですか? 1b。「リンク」のプロセスは何ですか?互換性チェックは行われますか?同じメモリにロードしますか?リンクは実際にはどういう意味ですか? DLL内のコードを実際に実行するものは何ですか?プロセッサによって実行されますか、それともプロセッサがDLL内のコードを理解する前に、変換またはコンパイルの別の段階がありますか? 2a。C#.NETに組み込まれているDLLの場合、これを実行しているのは何ですか:.NETフレームワークまたはオペレーティングシステムを直接使用していますか? LinuxのDLLはWindowsシステムで動作しますか(そのようなものが存在する場合)、それともオペレーティングシステム固有ですか? DLLは特定のフレームワークに固有ですか?C#.NETを使用して構築されたDLLは、たとえばBorland C ++で構築されたDLLで使用できますか? 4a。4の答えが「いいえ」の場合、DLLのポイントは何ですか?さまざまなフレームワークがリンクされたファイルに独自の形式を使用しないのはなぜですか?例:.NETに組み込まれている.exeは、.abcのファイルタイプがコードにリンクできるものであることを認識しています。 Web.dll/のBusiness.dll例に戻ると、参照する必要のある顧客のクラスタイプを取得Business.dllしWeb.dllます。これはBusiness.dll、顧客クラスが実際に何であるかに関するある種の仕様が含まれていることを意味する必要があります。たとえば、Business.dllファイルをDelphiでコンパイルした場合、C#はそれを理解して顧客クラスを作成できますか、または「申し訳ありませんが、別のDelphi DLLからのみ使用できます」というヘッダー情報などがありますか? ? 5a。同じことがメソッドにも当てはまります。CreateInvoice()DLLにメソッドを記述し、それをC ++でコンパイルしてから、C#からアクセスして実行できますか?何が私にこれをやめさせるか、または許しますか? DLLハイジャックに関しては、置換(不良)DLLには、ハイジャックされているものとまったく同じメソッドシグネチャとタイプが含まれている必要があります。元のDLLで使用可能なメソッドを見つけることができれば、これを行うのは難しいことではないと思います。 6a。別のDLLにアクセスできるかどうかをC#プログラムで決定しているのは何ですか?ハイジャックされたDLLに元のDLLとまったく同じメソッドとタイプが含まれていても、別の言語でコンパイルされている場合、それは機能しますか? DLLのインポートとDLLの登録とは何ですか?
87 c#  .net  dll 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.