Im Wesentlichen ohne Laden der Baugruppe selbst, die Abhängigkeiten programmatisch lesen müssen lesen, wie dann können Sie siewie die Assembly-Manifest ohne Laden der DLL
Antwort
2 Lösungen kommen mir in den Sinn erwarten, obwohl ich denke, es ist einfacher Art und Weise (die ich vergessen haben oder don Weiß nicht :)):
1. Laden Sie Ihre Baugruppen mit einigen zusätzlichen AppDomain
, die Sie erstellen können. Entladen ganze AddDomain
entladen auch geladene Baugruppen (aber nur diejenigen, die mit dieser AppDomain
geladen wurden).
2. Verwenden Sie eine API, z. B. CCI, mit der Sie in verwaltete DLLs hineinschauen können, ohne sie mithilfe eines Reflektionsmechanismus zu laden.
Kumar, nicht entladen
Sie .Net entladen CAN DLLs, aber Sie müssen das AppDomain-Objekt verwenden, um sie an erster Stelle zu laden und dann wieder zu entladen.
Werfen Sie einen Blick: http://msdn.microsoft.com/en-us/library/system.appdomain(VS.80).aspx
Wenn Sie immer noch diese Art von Prozess vermeiden wollen, nehme ich an Sie die DLL selbst, aber ich denke, das wäre viel mehr Arbeit als mit der AppDomain analysieren konnte.
-p
Das Problem ist die Lösung der Abhängigkeiten der DLL in der neuen AppDomain Sandbox irgendwie sandBox.AssemblyResolve + = new ResolveEventHandler (reh) erzeugt einen Fehler, der besagt, dass die aktuelle Assembly nicht gefunden wurde ??? irgendwelche Hinweise? – Kumar
Hope you Ildasm.exe (Intermediate Language Disassembler)
http://msdn.microsoft.com/en-us/library/aa309387(VS.71).aspx
leider nicht deutlich früher machen .... für programmatischen Zugriff – Kumar
Ich bin sicher, jemand wird mich korrigieren, wenn ich falsch liege, aber ist das Manifest nicht nur eine andere Ressource in der DLL? Wenn ja, können Sie es wie jede andere Ressource lesen.
Hier ist ein Open-Source-Tool, das Sie eine DLLs Ressource erkunden kann:
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
Und sicher genug, kann ich eingebettet Manifeste mit ihm sehen.
Also, laden Sie die DLL mit LoadLibrary() und gehen Ressource suchen.
LoadLibrary() hat nicht mit verwalteten DLLs von dem, was ich scheinen, früher gelesen – Kumar
Was meinst du mit "funktioniert nicht"? –
fanden diese System.Reflection.Assembly.ReflectionOnlyLoadFrom (Pfad) funktioniert der Trick
- 1. So laden Sie eine referenzierte DLL ohne die physikalische DLL
- 2. Wie kann eine Anwendung eine DLL ohne ihren Namen laden?
- 3. Dynamisch eine DLL laden
- 4. NUnit fehlgeschlagen DLL laden
- 5. dllimport kann die DLL nicht laden
- 6. PYTHON DLL laden fehlgeschlagen
- 7. Laden der DLL-Datei in Java
- 8. Laden der C++ DLL nicht in C#
- 9. dll nicht laden - FileLoadException
- 10. Pygame DLL laden fehlgeschlagen
- 11. VS Fehler beim Laden der Ausdrucksauswertung dll
- 12. laden C++ DLL in Ironpython
- 13. Laden DLL aus Speichereinheit - wie verwenden?
- 14. Wie QTcore4.dll ohne Abhängigkeit zu MSVCx80.dll zu erstellen?
- 15. mit libcurl ohne dll
- 16. DLL-Laden mit scipy.optimize fehlgeschlagen?
- 17. Eine DLL von einer externen Quelle laden
- 18. kann nicht DLL ‚iclit09b.dll‘ laden
- 19. Dynamisches Laden einer DLL nach ILMerge
- 20. Dynamisch Laden einer DLL innerhalb einer anderen DLL
- 21. Pygame in Windows: ImportError: Laden der DLL fehlgeschlagen
- 22. Wie man nur die neueste Version der DLL aus GAC
- 23. C++ DLL aus einem Unterverzeichnis laden?
- 24. C# Absturz beim Laden von C++ DLL
- 25. MFC Fehler beim Laden von DLL aus DLL
- 26. Fehler beim Laden der DLL in C/C++
- 27. CSS-Stylesheets neu laden, ohne die Seite neu zu laden?
- 28. Dynamisch laden dll in fitnesse Leuchte
- 29. Tridion: Kann .Net DLL während der Veröffentlichung nicht laden
- 30. UITableView Laden Sie mehr, ohne die Tabelle neu zu laden
thx suchen, werden in cci suchen, die erste Option funktioniert nicht aufgrund von Abhängigkeiten – Kumar
es zu betrachten und nirgendwo ... die einzige Probe werde ich gefunden ist http://www.codeproject.com/KB/recipes/Not_Used_Analysis.aspx aber es ist alt und kompiliert nicht – Kumar
ich habe es mit Cecil arbeiten, aber möchte CCI verwenden, da es intern von MS verwendet wird und wahrscheinlich sein wird mehr aktuelle – Kumar