Scalanie pliku EXE z bibliotekami DLL
Większość tworzonych przez nas aplikacji .NET jest oparta o zewnętrzne biblioteki. W wyniku ich kompilacji programu otrzymamy:
program EXE lub bibliotekępliki DLL bibliotek zależnychdokumentację powyższych w formie *.XMLplik symboli PDFkonfigurację programu w formie *.CONFIG
Poniżej przykład aplikacji konsolowej, która korzysta z bibliotek oferujących funkcje kontenera DI oraz serializatora JSON.
W wyniku kompilacji powstało aż 7 plików. Pokażę, jak w łatwy sposób zminimalizować wynik do dwóch plików.
Na początek należy dołączyć do naszego programu pakiet NuGet o nazwie Costura.Fody https://github.com/Fody/Costura
Od teraz każda kompilacja programu spowoduje, że biblioteki zależne zostaną dołączone do niego jako zasoby. Po kolejnej budowie solucji pozostało tylko 5 plików.
Bardziej dociekliwi mogą zauważyć, że rozmiar pliku wynikowego EXE jest dużo mniejszy niż łączny rozmiar plików DLL na poprzednim zdjęciu. Powodem jest automatyczna kompresja zasobów podczas procesu scalania plików przez Fody.
Aby zapobiec tworzeniu pliku PDB, należy zmienić ustawienia projektu.W zakładce Build klikamy przycisk Advanced..., w kolejnym oknie zmieniamy dla opcji Debugging information z Full na None i zapisujemy zmiany.
Aby...