Modalități de îmbinare a ansamblurilor

Îmbinarea ansamblurilor este o sarcină plăcută care vă permite să obțineți un executabil sau un DLL pe ieșire.

Ansamblurile de îmbinare (îmbinare) pot fi realizate în două moduri principale:







  1. Utilizați utilitarul de îmbinare.
    Utilitatea cea mai comună și gratuită este utilitarul liniei de comandă ILMerge.
    Pentru a-l utiliza, de exemplu, arunca într-un proiect principal dosar ILMerge.exe, apoi du-te la proprietățile proiectului și lista Buil Evenimente în post-buid comandă evenimente linie apel acestui utilitar, cum ar fi aceasta:
    "$ (ProjectDir) ilmerge" / out: "! $ (ProjectDir) de ieșire \ $ (TargetFileName)" "$ (TargetPath)" "$ (TargetDir) Prived.Midved.dll" "$ (TargetDir) WindowsProcessManager.dll" del "$ (ProjectDir)! ieșire \ $ (ProjectName) .pdb"
    Unde comutatorul / out specifică unde să se pună ansamblul implicit sau implicit. În cazul nostru, acesta va fi dosarul! Ieșire în rădăcina proiectului.
    Apoi ansamblul este listat, pe care trebuie să-l puneți în fișierul final.
    Comanda del de la capăt este folosită pentru a șterge fișierul ".pdb".






Este posibil să se născoci pentru a face astfel încât fuziunea este procesată numai în cazul în care nu compilarea pentru depanare, dar am făcut-o prin executabil lui, trecerea de la linia de comandă $ (ConfigurationName).

Presupusa dezavantaj al ILMerge este că ansamblurile își pierd identitatea - numele, versiunea, cultura, cheia publică.

  • Încărcați ansamblurile în timpul rulării la cerere.
    Aceasta este o metodă mai flexibilă, dar și mai sensibilă la greșelile târzii.
    Punerea în aplicare a ansamblurilor necesare utilizate ca resurse în ansamblul principal, și apoi să răspundă la eveniment AppDomain.CurrentDomain.AssemblyResolve pentru extragerea resurselor și ansamblurile încărcate în timpul rulării.
    Vă sfătuiesc cu fermitate să scrieți în acest test, care la începutul cererii solicită un tip (metoda, membru) din fiecare ansamblu utilizat în resursă.
  • Unele instrumente de obfuscation au, de asemenea, funcția de a fuziona (nu-mi amintesc exact).







    Articole similare

    Trimiteți-le prietenilor: