.dll ve .exe dosyalarını nasıl birleştirebilirim?

C# ile yaptığım projemi bitirdim lakin Dll dosyaları olduğu için farklı bir bilgisayara atamıyorum. Bu dosyaları nasıl birleştirebilirim?

a

Birleştirilirler mi bilmiyorum ama hepsini bir rar dosyasının içine koyup farklı bir bilgisayara atabilirsin. Belki setup dosyası oluşturup onu atmayı da deneyebilirsin.

Bu öneri benimde aklıma geldi lakin birkaç mblik bir dosya için setup dosyası oluşturmak bana mantıksız geliyor

Yapmak istedigin seyin adi static linking. Arastirinca bir cozum cikti ama maintain edilmiyor gibi duruyor.

Birden fazla dosya atmakta zorlaniyorsan static executable’dan daha buyuk sorunlarin olabilir. Dinamik kutuphaneleri statiklestirmek kutuphanelerin lisanslarina aykiri olabilir.

1 Beğeni

Konuyu hortlatmış olacağım ama bir basit proje yollayabilirmisiniz?
dediğiniz olayı assembly metodları ile çözebiliyorum sanıyorum.
deneyelim.

Bir kurulum sihirbazı kullanarak, hedef bilgisayarınızda bulunması gereken tüm dosyaları seçerek bu setup dosyasına ekleyebilirsiniz. Kurduğunuz bilgisayara ihtiyaç duyulan .dll dosyaları eklendiğinde programın çalışmasında problem yaşamayacaksınız.

Mesela resmini koyduğunuz WMPlib kütüphanesi size windows media player arayüzüne erişim sunar. Bu kütüphaneler dinamik kütüphane olarak tasarlanmıştır ve ayrı dosyalardan çağırılır. Windows işletim sisteminde bazı işlemleri yürütmek için özellikle dll dosyalarında tutmak zorundasınız, bellek paylaşımı, yetki kullanımı gibi konularda windows dll dosyalarını zorunlu tutar. Olur da bir şekilde kodun statik halini asıl kodunuza eklemeyi başarırsanız, budurumda bazı fonksiyonlar çalışmaz hale gelecektir. Winhook kullanmak için mesela ikincil bir dll dosyası zorunlu olması gibi farklı örnekler de verilebilir.

En basiti bir kurulum sihirbazı ile projenizi bir setup dosyası haline getirip, birlikte bulunması gereken dll dosyalarını beraberinde kurduğunuza emin olmanızdır.